From 4bf2e0d944978081922a2d76d59f7b5634028e54 Mon Sep 17 00:00:00 2001 From: Jacques Distler Date: Fri, 24 Sep 2010 22:36:30 -0500 Subject: [PATCH] Bundler Remove the vendored sqlite3-ruby. Instead, add support for Bundler (which is vendored). Before running the new Instiki, do a ruby bundle which will install all of the needed gems locally. (If you need to, tweak the contents of Gemfile.) --- Gemfile | 7 + bundle | 21 + config/boot.rb | 35 +- config/preinitializer.rb | 23 + vendor/plugins/bundler/bin/bundle | 21 + .../plugins/bundler/cache/bundler-1.0.0.gem | Bin 0 -> 97792 bytes .../doc/bundler-1.0.0/rdoc/Bundler.html | 1704 +++++++++++++++ .../rdoc/Bundler/BundlerError.html | 359 +++ .../doc/bundler-1.0.0/rdoc/Bundler/CLI.html | 1373 ++++++++++++ .../rdoc/Bundler/Definition.html | 1723 +++++++++++++++ .../bundler-1.0.0/rdoc/Bundler/DepProxy.html | 637 ++++++ .../rdoc/Bundler/Dependency.html | 936 ++++++++ .../rdoc/Bundler/DeprecatedError.html | 310 +++ .../doc/bundler-1.0.0/rdoc/Bundler/Dsl.html | 1077 +++++++++ .../bundler-1.0.0/rdoc/Bundler/DslError.html | 310 +++ .../rdoc/Bundler/Environment.html | 680 ++++++ .../bundler-1.0.0/rdoc/Bundler/GemHelper.html | 1166 ++++++++++ .../rdoc/Bundler/GemHelpers.html | 373 ++++ .../rdoc/Bundler/GemNotFound.html | 310 +++ .../rdoc/Bundler/GemfileError.html | 310 +++ .../rdoc/Bundler/GemfileNotFound.html | 310 +++ .../rdoc/Bundler/GemspecError.html | 310 +++ .../bundler-1.0.0/rdoc/Bundler/GitError.html | 310 +++ .../doc/bundler-1.0.0/rdoc/Bundler/Graph.html | 613 ++++++ .../bundler-1.0.0/rdoc/Bundler/GraphNode.html | 433 ++++ .../doc/bundler-1.0.0/rdoc/Bundler/Index.html | 902 ++++++++ .../bundler-1.0.0/rdoc/Bundler/Installer.html | 506 +++++ .../rdoc/Bundler/InvalidOption.html | 310 +++ .../rdoc/Bundler/InvalidSpecSet.html | 313 +++ .../rdoc/Bundler/LazySpecification.html | 742 +++++++ .../rdoc/Bundler/LockfileParser.html | 662 ++++++ .../rdoc/Bundler/MatchPlatform.html | 365 ++++ .../bundler-1.0.0/rdoc/Bundler/PathError.html | 310 +++ .../rdoc/Bundler/ProductionError.html | 310 +++ .../rdoc/Bundler/RemoteSpecification.html | 657 ++++++ .../bundler-1.0.0/rdoc/Bundler/Resolver.html | 1101 ++++++++++ .../rdoc/Bundler/Resolver/SpecGroup.html | 780 +++++++ .../bundler-1.0.0/rdoc/Bundler/Runtime.html | 705 ++++++ .../bundler-1.0.0/rdoc/Bundler/Settings.html | 962 ++++++++ .../rdoc/Bundler/SharedHelpers.html | 743 +++++++ .../rdoc/Bundler/SharedHelpers/Gem.html | 303 +++ .../SharedHelpers/Gem/SourceIndex.html | 303 +++ .../bundler-1.0.0/rdoc/Bundler/Source.html | 316 +++ .../rdoc/Bundler/Source/Git.html | 1399 ++++++++++++ .../rdoc/Bundler/Source/Path.html | 1124 ++++++++++ .../rdoc/Bundler/Source/Path/Installer.html | 417 ++++ .../rdoc/Bundler/Source/Rubygems.html | 1442 ++++++++++++ .../bundler-1.0.0/rdoc/Bundler/SpecSet.html | 955 ++++++++ .../doc/bundler-1.0.0/rdoc/Bundler/UI.html | 474 ++++ .../rdoc/Bundler/UI/RGProxy.html | 405 ++++ .../bundler-1.0.0/rdoc/Bundler/UI/Shell.html | 582 +++++ .../rdoc/Bundler/VersionConflict.html | 381 ++++ .../bundler/doc/bundler-1.0.0/rdoc/File.html | 310 +++ .../bundler/doc/bundler-1.0.0/rdoc/Gem.html | 326 +++ .../bundler-1.0.0/rdoc/Gem/Dependency.html | 517 +++++ .../doc/bundler-1.0.0/rdoc/Gem/Platform.html | 381 ++++ .../bundler-1.0.0/rdoc/Gem/Specification.html | 870 ++++++++ .../bundler/doc/bundler-1.0.0/rdoc/Thor.html | 1219 +++++++++++ .../doc/bundler-1.0.0/rdoc/Thor/Actions.html | 1945 +++++++++++++++++ .../rdoc/Thor/Actions/ClassMethods.html | 491 +++++ .../rdoc/Thor/Actions/CreateFile.html | 314 +++ .../rdoc/Thor/Actions/Directory.html | 310 +++ .../rdoc/Thor/Actions/EmptyDirectory.html | 318 +++ .../rdoc/Thor/Actions/InjectIntoFile.html | 310 +++ .../doc/bundler-1.0.0/rdoc/Thor/Argument.html | 310 +++ .../bundler-1.0.0/rdoc/Thor/Arguments.html | 310 +++ .../doc/bundler-1.0.0/rdoc/Thor/Base.html | 596 +++++ .../rdoc/Thor/Base/ClassMethods.html | 1363 ++++++++++++ .../doc/bundler-1.0.0/rdoc/Thor/CoreExt.html | 317 +++ .../CoreExt/HashWithIndifferentAccess.html | 319 +++ .../rdoc/Thor/CoreExt/OrderedHash.html | 317 +++ .../bundler-1.0.0/rdoc/Thor/DynamicTask.html | 408 ++++ .../doc/bundler-1.0.0/rdoc/Thor/Error.html | 321 +++ .../bundler-1.0.0/rdoc/Thor/HiddenTask.html | 362 +++ .../bundler-1.0.0/rdoc/Thor/Invocation.html | 496 +++++ .../rdoc/Thor/Invocation/ClassMethods.html | 303 +++ .../rdoc/Thor/InvocationError.html | 313 +++ .../rdoc/Thor/MalformattedArgumentError.html | 310 +++ .../doc/bundler-1.0.0/rdoc/Thor/Option.html | 310 +++ .../doc/bundler-1.0.0/rdoc/Thor/Options.html | 314 +++ .../Thor/RequiredArgumentMissingError.html | 310 +++ .../doc/bundler-1.0.0/rdoc/Thor/Sandbox.html | 303 +++ .../doc/bundler-1.0.0/rdoc/Thor/Shell.html | 528 +++++ .../bundler-1.0.0/rdoc/Thor/Shell/Basic.html | 1121 ++++++++++ .../bundler-1.0.0/rdoc/Thor/Shell/Color.html | 504 +++++ .../bundler-1.0.0/rdoc/Thor/Shell/HTML.html | 573 +++++ .../doc/bundler-1.0.0/rdoc/Thor/Task.html | 674 ++++++ .../rdoc/Thor/UndefinedTaskError.html | 313 +++ .../rdoc/Thor/UnknownArgumentError.html | 310 +++ .../doc/bundler-1.0.0/rdoc/Thor/Util.html | 984 +++++++++ .../doc/bundler-1.0.0/rdoc/created.rid | 65 + .../doc/bundler-1.0.0/rdoc/images/brick.png | Bin 0 -> 452 bytes .../bundler-1.0.0/rdoc/images/brick_link.png | Bin 0 -> 764 bytes .../doc/bundler-1.0.0/rdoc/images/bug.png | Bin 0 -> 774 bytes .../rdoc/images/bullet_black.png | Bin 0 -> 211 bytes .../rdoc/images/bullet_toggle_minus.png | Bin 0 -> 207 bytes .../rdoc/images/bullet_toggle_plus.png | Bin 0 -> 209 bytes .../doc/bundler-1.0.0/rdoc/images/date.png | Bin 0 -> 626 bytes .../doc/bundler-1.0.0/rdoc/images/find.png | Bin 0 -> 659 bytes .../rdoc/images/loadingAnimation.gif | Bin 0 -> 5886 bytes .../bundler-1.0.0/rdoc/images/macFFBgHack.png | Bin 0 -> 207 bytes .../doc/bundler-1.0.0/rdoc/images/package.png | Bin 0 -> 853 bytes .../bundler-1.0.0/rdoc/images/page_green.png | Bin 0 -> 621 bytes .../rdoc/images/page_white_text.png | Bin 0 -> 342 bytes .../rdoc/images/page_white_width.png | Bin 0 -> 309 bytes .../doc/bundler-1.0.0/rdoc/images/plugin.png | Bin 0 -> 591 bytes .../doc/bundler-1.0.0/rdoc/images/ruby.png | Bin 0 -> 592 bytes .../bundler-1.0.0/rdoc/images/tag_green.png | Bin 0 -> 613 bytes .../doc/bundler-1.0.0/rdoc/images/wrench.png | Bin 0 -> 610 bytes .../rdoc/images/wrench_orange.png | Bin 0 -> 584 bytes .../doc/bundler-1.0.0/rdoc/images/zoom.png | Bin 0 -> 692 bytes .../bundler/doc/bundler-1.0.0/rdoc/index.html | 1180 ++++++++++ .../doc/bundler-1.0.0/rdoc/js/darkfish.js | 116 + .../doc/bundler-1.0.0/rdoc/js/jquery.js | 32 + .../doc/bundler-1.0.0/rdoc/js/quicksearch.js | 114 + .../rdoc/js/thickbox-compressed.js | 10 + .../rdoc/lib/bundler/capistrano_rb.html | 60 + .../rdoc/lib/bundler/cli_rb.html | 62 + .../rdoc/lib/bundler/definition_rb.html | 54 + .../rdoc/lib/bundler/dependency_rb.html | 58 + .../rdoc/lib/bundler/dsl_rb.html | 54 + .../rdoc/lib/bundler/environment_rb.html | 52 + .../rdoc/lib/bundler/gem_helper_rb.html | 56 + .../rdoc/lib/bundler/graph_rb.html | 54 + .../rdoc/lib/bundler/index_rb.html | 52 + .../rdoc/lib/bundler/installer_rb.html | 56 + .../lib/bundler/lazy_specification_rb.html | 56 + .../rdoc/lib/bundler/lockfile_parser_rb.html | 54 + .../rdoc/lib/bundler/man/bundle-config.html | 250 +++ .../lib/bundler/man/bundle-config_txt.html | 250 +++ .../rdoc/lib/bundler/man/bundle-exec.html | 321 +++ .../rdoc/lib/bundler/man/bundle-exec_txt.html | 369 ++++ .../rdoc/lib/bundler/man/bundle-install.html | 472 ++++ .../lib/bundler/man/bundle-install_txt.html | 589 +++++ .../rdoc/lib/bundler/man/bundle-package.html | 297 +++ .../lib/bundler/man/bundle-package_txt.html | 325 +++ .../rdoc/lib/bundler/man/bundle-update.html | 377 ++++ .../lib/bundler/man/bundle-update_txt.html | 460 ++++ .../rdoc/lib/bundler/man/bundle.html | 287 +++ .../rdoc/lib/bundler/man/bundle_txt.html | 352 +++ .../rdoc/lib/bundler/man/gemfile_5_txt.html | 527 +++++ .../lib/bundler/remote_specification_rb.html | 56 + .../rdoc/lib/bundler/resolver_rb.html | 54 + .../rdoc/lib/bundler/rubygems_ext_rb.html | 58 + .../rdoc/lib/bundler/runtime_rb.html | 54 + .../rdoc/lib/bundler/settings_rb.html | 52 + .../rdoc/lib/bundler/setup_rb.html | 56 + .../rdoc/lib/bundler/shared_helpers_rb.html | 56 + .../rdoc/lib/bundler/source_rb.html | 64 + .../rdoc/lib/bundler/spec_set_rb.html | 54 + .../rdoc/lib/bundler/templates/Gemfile.html | 257 +++ .../bundler-1.0.0/rdoc/lib/bundler/ui_rb.html | 52 + .../vendor/thor/actions/create_file_rb.html | 54 + .../vendor/thor/actions/directory_rb.html | 54 + .../thor/actions/empty_directory_rb.html | 52 + .../thor/actions/file_manipulation_rb.html | 56 + .../thor/actions/inject_into_file_rb.html | 54 + .../lib/bundler/vendor/thor/actions_rb.html | 58 + .../rdoc/lib/bundler/vendor/thor/base_rb.html | 68 + .../thor/core_ext/file_binary_read_rb.html | 52 + .../hash_with_indifferent_access_rb.html | 52 + .../vendor/thor/core_ext/ordered_hash_rb.html | 52 + .../lib/bundler/vendor/thor/error_rb.html | 52 + .../bundler/vendor/thor/invocation_rb.html | 52 + .../vendor/thor/parser/argument_rb.html | 52 + .../vendor/thor/parser/arguments_rb.html | 52 + .../bundler/vendor/thor/parser/option_rb.html | 52 + .../vendor/thor/parser/options_rb.html | 52 + .../lib/bundler/vendor/thor/parser_rb.html | 60 + .../bundler/vendor/thor/shell/basic_rb.html | 54 + .../bundler/vendor/thor/shell/color_rb.html | 56 + .../bundler/vendor/thor/shell/html_rb.html | 56 + .../lib/bundler/vendor/thor/shell_rb.html | 54 + .../rdoc/lib/bundler/vendor/thor/task_rb.html | 52 + .../rdoc/lib/bundler/vendor/thor/util_rb.html | 54 + .../lib/bundler/vendor/thor/version_rb.html | 52 + .../rdoc/lib/bundler/vendor/thor_rb.html | 54 + .../rdoc/lib/bundler/version_rb.html | 52 + .../bundler-1.0.0/rdoc/lib/bundler_rb.html | 64 + .../bundler/doc/bundler-1.0.0/rdoc/rdoc.css | 706 ++++++ .../BundlerError/cdesc-BundlerError.ri | Bin 0 -> 218 bytes .../ri/Bundler/BundlerError/status_code-c.ri | Bin 0 -> 136 bytes .../bundler-1.0.0/ri/Bundler/CLI/cache-i.ri | Bin 0 -> 104 bytes .../bundler-1.0.0/ri/Bundler/CLI/cdesc-CLI.ri | Bin 0 -> 366 bytes .../bundler-1.0.0/ri/Bundler/CLI/check-i.ri | Bin 0 -> 104 bytes .../bundler-1.0.0/ri/Bundler/CLI/config-i.ri | Bin 0 -> 123 bytes .../bundler-1.0.0/ri/Bundler/CLI/console-i.ri | Bin 0 -> 119 bytes .../bundler-1.0.0/ri/Bundler/CLI/exec-i.ri | Bin 0 -> 103 bytes .../doc/bundler-1.0.0/ri/Bundler/CLI/gem-i.ri | Bin 0 -> 104 bytes .../ri/Bundler/CLI/have_groff%3f-i.ri | Bin 0 -> 117 bytes .../bundler-1.0.0/ri/Bundler/CLI/help-i.ri | Bin 0 -> 111 bytes .../bundler-1.0.0/ri/Bundler/CLI/init-i.ri | Bin 0 -> 102 bytes .../bundler-1.0.0/ri/Bundler/CLI/install-i.ri | Bin 0 -> 118 bytes .../ri/Bundler/CLI/locate_gem-i.ri | Bin 0 -> 119 bytes .../bundler-1.0.0/ri/Bundler/CLI/lock-i.ri | Bin 0 -> 102 bytes .../doc/bundler-1.0.0/ri/Bundler/CLI/new-c.ri | Bin 0 -> 102 bytes .../bundler-1.0.0/ri/Bundler/CLI/open-i.ri | Bin 0 -> 106 bytes .../bundler-1.0.0/ri/Bundler/CLI/package-i.ri | Bin 0 -> 108 bytes .../bundler-1.0.0/ri/Bundler/CLI/show-i.ri | Bin 0 -> 116 bytes .../ri/Bundler/CLI/source_root-c.ri | Bin 0 -> 117 bytes .../bundler-1.0.0/ri/Bundler/CLI/unlock-i.ri | Bin 0 -> 106 bytes .../bundler-1.0.0/ri/Bundler/CLI/update-i.ri | Bin 0 -> 111 bytes .../bundler-1.0.0/ri/Bundler/CLI/version-i.ri | Bin 0 -> 108 bytes .../doc/bundler-1.0.0/ri/Bundler/CLI/viz-i.ri | Bin 0 -> 100 bytes .../ri/Bundler/Definition/build-c.ri | Bin 0 -> 137 bytes .../ri/Bundler/Definition/cdesc-Definition.ri | Bin 0 -> 721 bytes .../Definition/converge_dependencies-i.ri | Bin 0 -> 144 bytes .../Definition/converge_locked_specs-i.ri | Bin 0 -> 330 bytes .../Bundler/Definition/converge_sources-i.ri | Bin 0 -> 134 bytes .../Definition/current_dependencies-i.ri | Bin 0 -> 141 bytes .../ri/Bundler/Definition/dependencies-i.ri | Bin 0 -> 114 bytes ...nsure_equivalent_gemfile_and_lockfile-i.ri | Bin 0 -> 177 bytes .../Definition/expand_dependencies-i.ri | Bin 0 -> 168 bytes .../Definition/expanded_dependencies-i.ri | Bin 0 -> 144 bytes .../ri/Bundler/Definition/groups-i.ri | Bin 0 -> 113 bytes .../Bundler/Definition/in_locked_deps%3f-i.ri | Bin 0 -> 138 bytes .../ri/Bundler/Definition/index-i.ri | Bin 0 -> 111 bytes .../ri/Bundler/Definition/lock-i.ri | Bin 0 -> 113 bytes .../ri/Bundler/Definition/missing_specs-i.ri | Bin 0 -> 127 bytes .../ri/Bundler/Definition/new-c.ri | Bin 0 -> 147 bytes .../Bundler/Definition/new_platform%3f-i.ri | Bin 0 -> 127 bytes .../ri/Bundler/Definition/new_specs-i.ri | Bin 0 -> 119 bytes .../ri/Bundler/Definition/no_sources%3f-i.ri | Bin 0 -> 123 bytes .../ri/Bundler/Definition/platforms-i.ri | Bin 0 -> 108 bytes .../ri/Bundler/Definition/pretty_dep-i.ri | Bin 0 -> 141 bytes .../ri/Bundler/Definition/removed_specs-i.ri | Bin 0 -> 127 bytes .../Definition/requested_dependencies-i.ri | Bin 0 -> 146 bytes .../Bundler/Definition/requested_specs-i.ri | Bin 0 -> 131 bytes .../ri/Bundler/Definition/resolve-i.ri | Bin 0 -> 115 bytes .../Definition/resolve_remotely%21-i.ri | Bin 0 -> 135 bytes .../Definition/resolve_with_cache%21-i.ri | Bin 0 -> 139 bytes .../Definition/satisfies_locked_spec%3f-i.ri | Bin 0 -> 149 bytes .../ri/Bundler/Definition/sorted_sources-i.ri | Bin 0 -> 130 bytes .../ri/Bundler/Definition/sources-i.ri | Bin 0 -> 104 bytes .../ri/Bundler/Definition/specs-i.ri | Bin 0 -> 111 bytes .../ri/Bundler/Definition/specs_for-i.ri | Bin 0 -> 125 bytes .../ri/Bundler/Definition/to_lock-i.ri | Bin 0 -> 115 bytes .../ri/Bundler/DepProxy/%3d%3d-i.ri | Bin 0 -> 138 bytes .../ri/Bundler/DepProxy/__platform-i.ri | Bin 0 -> 108 bytes .../ri/Bundler/DepProxy/cdesc-DepProxy.ri | Bin 0 -> 282 bytes .../ri/Bundler/DepProxy/dep-i.ri | Bin 0 -> 94 bytes .../ri/Bundler/DepProxy/eql%3f-i.ri | Bin 0 -> 108 bytes .../ri/Bundler/DepProxy/hash-i.ri | Bin 0 -> 107 bytes .../ri/Bundler/DepProxy/method_missing-i.ri | Bin 0 -> 133 bytes .../ri/Bundler/DepProxy/new-c.ri | Bin 0 -> 119 bytes .../ri/Bundler/DepProxy/required_by-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/DepProxy/to_s-i.ri | Bin 0 -> 107 bytes .../ri/Bundler/DepProxy/type-i.ri | Bin 0 -> 107 bytes .../ri/Bundler/Dependency/autorequire-i.ri | Bin 0 -> 112 bytes .../ri/Bundler/Dependency/cdesc-Dependency.ri | Bin 0 -> 420 bytes .../ri/Bundler/Dependency/current_env%3f-i.ri | Bin 0 -> 125 bytes .../Dependency/current_platform%3f-i.ri | Bin 0 -> 135 bytes .../ri/Bundler/Dependency/gem_platforms-i.ri | Bin 0 -> 142 bytes .../ri/Bundler/Dependency/groups-i.ri | Bin 0 -> 102 bytes .../ri/Bundler/Dependency/jruby%3f-i.ri | Bin 0 -> 114 bytes .../ri/Bundler/Dependency/mri%3f-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/Dependency/mri_18%3f-i.ri | Bin 0 -> 116 bytes .../ri/Bundler/Dependency/mri_19%3f-i.ri | Bin 0 -> 116 bytes .../ri/Bundler/Dependency/mswin%3f-i.ri | Bin 0 -> 114 bytes .../ri/Bundler/Dependency/new-c.ri | Bin 0 -> 141 bytes .../ri/Bundler/Dependency/platforms-i.ri | Bin 0 -> 108 bytes .../ri/Bundler/Dependency/ruby%3f-i.ri | Bin 0 -> 112 bytes .../ri/Bundler/Dependency/ruby_18%3f-i.ri | Bin 0 -> 118 bytes .../ri/Bundler/Dependency/ruby_19%3f-i.ri | Bin 0 -> 118 bytes .../Bundler/Dependency/should_include%3f-i.ri | Bin 0 -> 131 bytes .../ri/Bundler/Dependency/to_lock-i.ri | Bin 0 -> 115 bytes .../DeprecatedError/cdesc-DeprecatedError.ri | Bin 0 -> 210 bytes .../ri/Bundler/Dsl/_deprecated_options-i.ri | Bin 0 -> 140 bytes .../ri/Bundler/Dsl/_normalize_hash-i.ri | Bin 0 -> 129 bytes .../ri/Bundler/Dsl/_normalize_options-i.ri | Bin 0 -> 150 bytes .../bundler-1.0.0/ri/Bundler/Dsl/cdesc-Dsl.ri | Bin 0 -> 379 bytes .../ri/Bundler/Dsl/deprecate-c.ri | Bin 0 -> 187 bytes .../doc/bundler-1.0.0/ri/Bundler/Dsl/env-i.ri | Bin 0 -> 105 bytes .../ri/Bundler/Dsl/evaluate-c.ri | Bin 0 -> 118 bytes .../doc/bundler-1.0.0/ri/Bundler/Dsl/gem-i.ri | Bin 0 -> 111 bytes .../bundler-1.0.0/ri/Bundler/Dsl/gemspec-i.ri | Bin 0 -> 118 bytes .../doc/bundler-1.0.0/ri/Bundler/Dsl/git-i.ri | Bin 0 -> 144 bytes .../bundler-1.0.0/ri/Bundler/Dsl/group-i.ri | Bin 0 -> 116 bytes .../doc/bundler-1.0.0/ri/Bundler/Dsl/new-c.ri | Bin 0 -> 101 bytes .../bundler-1.0.0/ri/Bundler/Dsl/path-i.ri | Bin 0 -> 147 bytes .../ri/Bundler/Dsl/platforms-i.ri | Bin 0 -> 123 bytes .../ri/Bundler/Dsl/rubygems_source-i.ri | Bin 0 -> 131 bytes .../bundler-1.0.0/ri/Bundler/Dsl/source-i.ri | Bin 0 -> 142 bytes .../ri/Bundler/Dsl/to_definition-i.ri | Bin 0 -> 136 bytes .../ri/Bundler/DslError/cdesc-DslError.ri | Bin 0 -> 196 bytes .../Bundler/Environment/cdesc-Environment.ri | Bin 0 -> 302 bytes .../Environment/current_dependencies-i.ri | Bin 0 -> 142 bytes .../ri/Bundler/Environment/dependencies-i.ri | Bin 0 -> 126 bytes .../ri/Bundler/Environment/index-i.ri | Bin 0 -> 196 bytes .../ri/Bundler/Environment/inspect-i.ri | Bin 0 -> 116 bytes .../ri/Bundler/Environment/lock-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/Environment/new-c.ri | Bin 0 -> 125 bytes .../Bundler/Environment/requested_specs-i.ri | Bin 0 -> 132 bytes .../ri/Bundler/Environment/root-i.ri | Bin 0 -> 99 bytes .../ri/Bundler/Environment/specs-i.ri | Bin 0 -> 112 bytes .../ri/Bundler/Environment/update-i.ri | Bin 0 -> 119 bytes .../ri/Bundler/GemHelper/base-i.ri | Bin 0 -> 97 bytes .../ri/Bundler/GemHelper/build_gem-i.ri | Bin 0 -> 118 bytes .../ri/Bundler/GemHelper/built_gem_path-i.ri | Bin 0 -> 131 bytes .../ri/Bundler/GemHelper/cdesc-GemHelper.ri | Bin 0 -> 469 bytes .../ri/Bundler/GemHelper/clean%3f-i.ri | Bin 0 -> 115 bytes .../ri/Bundler/GemHelper/gemspec-i.ri | Bin 0 -> 103 bytes .../ri/Bundler/GemHelper/git_push-i.ri | Bin 0 -> 119 bytes .../GemHelper/guard_already_tagged-i.ri | Bin 0 -> 143 bytes .../ri/Bundler/GemHelper/guard_clean-i.ri | Bin 0 -> 125 bytes .../ri/Bundler/GemHelper/install-i.ri | Bin 0 -> 114 bytes .../ri/Bundler/GemHelper/install_gem-i.ri | Bin 0 -> 122 bytes .../ri/Bundler/GemHelper/install_tasks-c.ri | Bin 0 -> 137 bytes .../ri/Bundler/GemHelper/name-i.ri | Bin 0 -> 111 bytes .../ri/Bundler/GemHelper/new-c.ri | Bin 0 -> 123 bytes .../Bundler/GemHelper/perform_git_push-i.ri | Bin 0 -> 147 bytes .../ri/Bundler/GemHelper/release_gem-i.ri | Bin 0 -> 122 bytes .../ri/Bundler/GemHelper/rubygem_push-i.ri | Bin 0 -> 131 bytes .../ri/Bundler/GemHelper/sh-i.ri | Bin 0 -> 118 bytes .../ri/Bundler/GemHelper/sh_with_code-i.ri | Bin 0 -> 138 bytes .../ri/Bundler/GemHelper/spec_path-i.ri | Bin 0 -> 107 bytes .../ri/Bundler/GemHelper/tag_version-i.ri | Bin 0 -> 141 bytes .../ri/Bundler/GemHelper/tagged_sha-i.ri | Bin 0 -> 123 bytes .../ri/Bundler/GemHelper/version-i.ri | Bin 0 -> 117 bytes .../ri/Bundler/GemHelper/version_tag-i.ri | Bin 0 -> 125 bytes .../ri/Bundler/GemHelpers/cdesc-GemHelpers.ri | Bin 0 -> 242 bytes .../ri/Bundler/GemHelpers/generic-i.ri | Bin 0 -> 116 bytes .../Bundler/GemNotFound/cdesc-GemNotFound.ri | Bin 0 -> 202 bytes .../GemfileError/cdesc-GemfileError.ri | Bin 0 -> 204 bytes .../GemfileNotFound/cdesc-GemfileNotFound.ri | Bin 0 -> 210 bytes .../GemspecError/cdesc-GemspecError.ri | Bin 0 -> 204 bytes .../ri/Bundler/GitError/cdesc-GitError.ri | Bin 0 -> 196 bytes .../ri/Bundler/Graph/cdesc-Graph.ri | Bin 0 -> 243 bytes .../ri/Bundler/Graph/groups-i.ri | Bin 0 -> 108 bytes .../bundler-1.0.0/ri/Bundler/Graph/new-c.ri | Bin 0 -> 106 bytes .../bundler-1.0.0/ri/Bundler/Graph/nodes-i.ri | Bin 0 -> 106 bytes .../ri/Bundler/Graph/populate-i.ri | Bin 0 -> 113 bytes .../bundler-1.0.0/ri/Bundler/Graph/viz-i.ri | Bin 0 -> 178 bytes .../ri/Bundler/GraphNode/cdesc-GraphNode.ri | Bin 0 -> 303 bytes .../ri/Bundler/GraphNode/dependencies-i.ri | Bin 0 -> 113 bytes .../ri/Bundler/GraphNode/is_user-i.ri | Bin 0 -> 104 bytes .../ri/Bundler/GraphNode/name-i.ri | Bin 0 -> 97 bytes .../ri/Bundler/GraphNode/new-c.ri | Bin 0 -> 120 bytes .../ri/Bundler/GraphNode/version-i.ri | Bin 0 -> 103 bytes .../ri/Bundler/Index/%3c%3c-i.ri | Bin 0 -> 104 bytes .../ri/Bundler/Index/%3d%3d-i.ri | Bin 0 -> 101 bytes .../ri/Bundler/Index/%5b%5d-i.ri | Bin 0 -> 105 bytes .../bundler-1.0.0/ri/Bundler/Index/build-c.ri | Bin 0 -> 109 bytes .../ri/Bundler/Index/cdesc-Index.ri | Bin 0 -> 347 bytes .../bundler-1.0.0/ri/Bundler/Index/each-i.ri | Bin 0 -> 108 bytes .../ri/Bundler/Index/empty%3f-i.ri | Bin 0 -> 108 bytes .../ri/Bundler/Index/initialize_copy-i.ri | Bin 0 -> 127 bytes .../bundler-1.0.0/ri/Bundler/Index/new-c.ri | Bin 0 -> 103 bytes .../ri/Bundler/Index/search-i.ri | Bin 0 -> 142 bytes .../Bundler/Index/search_by_dependency-i.ri | Bin 0 -> 147 bytes .../ri/Bundler/Index/search_by_spec-i.ri | Bin 0 -> 129 bytes .../Index/search_for_all_platforms-i.ri | Bin 0 -> 165 bytes .../ri/Bundler/Index/sources-i.ri | Bin 0 -> 110 bytes .../bundler-1.0.0/ri/Bundler/Index/use-i.ri | Bin 0 -> 107 bytes .../ri/Bundler/Installer/cdesc-Installer.ri | Bin 0 -> 246 bytes .../generate_bundler_executable_stubs-i.ri | Bin 0 -> 171 bytes .../ri/Bundler/Installer/install-c.ri | Bin 0 -> 145 bytes .../ri/Bundler/Installer/run-i.ri | Bin 0 -> 113 bytes .../InvalidOption/cdesc-InvalidOption.ri | Bin 0 -> 202 bytes .../InvalidSpecSet/cdesc-InvalidSpecSet.ri | Bin 0 -> 276 bytes .../LazySpecification/__materialize__-i.ri | Bin 0 -> 138 bytes .../cdesc-LazySpecification.ri | Bin 0 -> 392 bytes .../LazySpecification/dependencies-i.ri | Bin 0 -> 121 bytes .../Bundler/LazySpecification/full_name-i.ri | Bin 0 -> 126 bytes .../LazySpecification/method_missing-i.ri | Bin 0 -> 156 bytes .../ri/Bundler/LazySpecification/name-i.ri | Bin 0 -> 105 bytes .../ri/Bundler/LazySpecification/new-c.ri | Bin 0 -> 152 bytes .../Bundler/LazySpecification/platform-i.ri | Bin 0 -> 113 bytes .../LazySpecification/respond_to%3f-i.ri | Bin 0 -> 135 bytes .../LazySpecification/satisfies%3f-i.ri | Bin 0 -> 138 bytes .../ri/Bundler/LazySpecification/source-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/LazySpecification/to_lock-i.ri | Bin 0 -> 122 bytes .../ri/Bundler/LazySpecification/to_s-i.ri | Bin 0 -> 116 bytes .../ri/Bundler/LazySpecification/version-i.ri | Bin 0 -> 111 bytes .../LockfileParser/cdesc-LockfileParser.ri | Bin 0 -> 366 bytes .../Bundler/LockfileParser/dependencies-i.ri | Bin 0 -> 118 bytes .../ri/Bundler/LockfileParser/new-c.ri | Bin 0 -> 120 bytes .../LockfileParser/parse_dependency-i.ri | Bin 0 -> 142 bytes .../LockfileParser/parse_platform-i.ri | Bin 0 -> 138 bytes .../Bundler/LockfileParser/parse_source-i.ri | Bin 0 -> 134 bytes .../ri/Bundler/LockfileParser/parse_spec-i.ri | Bin 0 -> 130 bytes .../ri/Bundler/LockfileParser/platforms-i.ri | Bin 0 -> 112 bytes .../ri/Bundler/LockfileParser/sources-i.ri | Bin 0 -> 108 bytes .../ri/Bundler/LockfileParser/specs-i.ri | Bin 0 -> 104 bytes .../MatchPlatform/cdesc-MatchPlatform.ri | Bin 0 -> 232 bytes .../Bundler/MatchPlatform/match_platform-i.ri | Bin 0 -> 133 bytes .../ri/Bundler/PathError/cdesc-PathError.ri | Bin 0 -> 198 bytes .../ProductionError/cdesc-ProductionError.ri | Bin 0 -> 210 bytes .../Bundler/RemoteSpecification/__swap__-i.ri | Bin 0 -> 314 bytes .../_remote_specification-i.ri | Bin 0 -> 153 bytes .../cdesc-RemoteSpecification.ri | Bin 0 -> 684 bytes .../RemoteSpecification/fetch_platform-i.ri | Bin 0 -> 295 bytes .../RemoteSpecification/full_name-i.ri | Bin 0 -> 128 bytes .../RemoteSpecification/method_missing-i.ri | Bin 0 -> 158 bytes .../ri/Bundler/RemoteSpecification/name-i.ri | Bin 0 -> 107 bytes .../ri/Bundler/RemoteSpecification/new-c.ri | Bin 0 -> 152 bytes .../Bundler/RemoteSpecification/platform-i.ri | Bin 0 -> 115 bytes .../Bundler/RemoteSpecification/source-i.ri | Bin 0 -> 112 bytes .../Bundler/RemoteSpecification/version-i.ri | Bin 0 -> 113 bytes .../Resolver/SpecGroup/__dependencies-i.ri | Bin 0 -> 139 bytes .../Resolver/SpecGroup/activate_platform-i.ri | Bin 0 -> 152 bytes .../Bundler/Resolver/SpecGroup/activated-i.ri | Bin 0 -> 117 bytes .../Resolver/SpecGroup/cdesc-SpecGroup.ri | Bin 0 -> 358 bytes .../ri/Bundler/Resolver/SpecGroup/for%3f-i.ri | Bin 0 -> 126 bytes .../Resolver/SpecGroup/initialize_copy-i.ri | Bin 0 -> 141 bytes .../ri/Bundler/Resolver/SpecGroup/name-i.ri | Bin 0 -> 118 bytes .../ri/Bundler/Resolver/SpecGroup/new-c.ri | Bin 0 -> 118 bytes .../Resolver/SpecGroup/required_by-i.ri | Bin 0 -> 121 bytes .../ri/Bundler/Resolver/SpecGroup/source-i.ri | Bin 0 -> 122 bytes .../ri/Bundler/Resolver/SpecGroup/to_s-i.ri | Bin 0 -> 118 bytes .../Bundler/Resolver/SpecGroup/to_specs-i.ri | Bin 0 -> 126 bytes .../Bundler/Resolver/SpecGroup/version-i.ri | Bin 0 -> 124 bytes .../ri/Bundler/Resolver/cdesc-Resolver.ri | Bin 0 -> 353 bytes .../ri/Bundler/Resolver/clean_req-i.ri | Bin 0 -> 120 bytes .../ri/Bundler/Resolver/debug-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/Resolver/error_message-i.ri | Bin 0 -> 125 bytes .../ri/Bundler/Resolver/errors-i.ri | Bin 0 -> 100 bytes .../ri/Bundler/Resolver/gem_message-i.ri | Bin 0 -> 234 bytes .../ri/Bundler/Resolver/new-c.ri | Bin 0 -> 138 bytes .../ri/Bundler/Resolver/resolve-c.ri | Bin 0 -> 829 bytes .../ri/Bundler/Resolver/resolve-i.ri | Bin 0 -> 128 bytes .../Bundler/Resolver/resolve_requirement-i.ri | Bin 0 -> 177 bytes .../ri/Bundler/Resolver/search-i.ri | Bin 0 -> 114 bytes .../ri/Bundler/Resolver/start-i.ri | Bin 0 -> 113 bytes .../ri/Bundler/Resolver/successify-i.ri | Bin 0 -> 128 bytes .../ri/Bundler/Resolver/version_conflict-i.ri | Bin 0 -> 131 bytes .../ri/Bundler/Runtime/cache-i.ri | Bin 0 -> 108 bytes .../ri/Bundler/Runtime/cache_path-i.ri | Bin 0 -> 119 bytes .../ri/Bundler/Runtime/cdesc-Runtime.ri | Bin 0 -> 322 bytes .../ri/Bundler/Runtime/dependencies_for-i.ri | Bin 0 -> 137 bytes .../ri/Bundler/Runtime/prune_cache-i.ri | Bin 0 -> 120 bytes .../ri/Bundler/Runtime/require-i.ri | Bin 0 -> 119 bytes .../ri/Bundler/Runtime/setup-i.ri | Bin 0 -> 115 bytes .../ri/Bundler/Runtime/setup_environment-i.ri | Bin 0 -> 133 bytes .../ri/Bundler/Settings/%5b%5d%3d-i.ri | Bin 0 -> 115 bytes .../ri/Bundler/Settings/%5b%5d-i.ri | Bin 0 -> 106 bytes .../ri/Bundler/Settings/all-i.ri | Bin 0 -> 105 bytes .../ri/Bundler/Settings/allow_sudo%3f-i.ri | Bin 0 -> 121 bytes .../ri/Bundler/Settings/cdesc-Settings.ri | Bin 0 -> 354 bytes .../ri/Bundler/Settings/delete-i.ri | Bin 0 -> 114 bytes .../Bundler/Settings/global_config_file-i.ri | Bin 0 -> 136 bytes .../ri/Bundler/Settings/key_for-i.ri | Bin 0 -> 117 bytes .../Bundler/Settings/local_config_file-i.ri | Bin 0 -> 134 bytes .../ri/Bundler/Settings/locations-i.ri | Bin 0 -> 120 bytes .../ri/Bundler/Settings/new-c.ri | Bin 0 -> 110 bytes .../ri/Bundler/Settings/path-i.ri | Bin 0 -> 214 bytes .../Bundler/Settings/pretty_values_for-i.ri | Bin 0 -> 144 bytes .../ri/Bundler/Settings/set_global-i.ri | Bin 0 -> 129 bytes .../ri/Bundler/Settings/set_key-i.ri | Bin 0 -> 136 bytes .../ri/Bundler/Settings/without%3d-i.ri | Bin 0 -> 120 bytes .../ri/Bundler/Settings/without-i.ri | Bin 0 -> 113 bytes .../Gem/SourceIndex/cdesc-SourceIndex.ri | Bin 0 -> 215 bytes .../ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri | Bin 0 -> 189 bytes .../SharedHelpers/cdesc-SharedHelpers.ri | Bin 0 -> 344 bytes .../SharedHelpers/clean_load_path-i.ri | Bin 0 -> 135 bytes .../SharedHelpers/cripple_rubygems-i.ri | Bin 0 -> 142 bytes .../SharedHelpers/default_gemfile-i.ri | Bin 0 -> 134 bytes .../SharedHelpers/default_lockfile-i.ri | Bin 0 -> 136 bytes .../Bundler/SharedHelpers/find_gemfile-i.ri | Bin 0 -> 129 bytes .../ri/Bundler/SharedHelpers/gem-i.ri | Bin 0 -> 112 bytes .../ri/Bundler/SharedHelpers/gem_loaded-i.ri | Bin 0 -> 114 bytes .../Bundler/SharedHelpers/in_bundle%3f-i.ri | Bin 0 -> 124 bytes .../reverse_rubygems_kernel_mixin-i.ri | Bin 0 -> 163 bytes .../ri/Bundler/Source/Git/%3d%3d-i.ri | Bin 0 -> 107 bytes .../Bundler/Source/Git/allow_git_ops%3f-i.ri | Bin 0 -> 131 bytes .../ri/Bundler/Source/Git/base_name-i.ri | Bin 0 -> 121 bytes .../ri/Bundler/Source/Git/cache-i.ri | Bin 0 -> 113 bytes .../ri/Bundler/Source/Git/cache_path-i.ri | Bin 0 -> 123 bytes .../ri/Bundler/Source/Git/cached%3f-i.ri | Bin 0 -> 117 bytes .../ri/Bundler/Source/Git/cdesc-Git.ri | Bin 0 -> 492 bytes .../ri/Bundler/Source/Git/checkout-i.ri | Bin 0 -> 119 bytes .../ri/Bundler/Source/Git/eql%3f-i.ri | Bin 0 -> 146 bytes .../ri/Bundler/Source/Git/from_lock-c.ri | Bin 0 -> 128 bytes .../ri/Bundler/Source/Git/git-i.ri | Bin 0 -> 116 bytes .../Source/Git/has_revision_cached%3f-i.ri | Bin 0 -> 143 bytes .../ri/Bundler/Source/Git/in_cache-i.ri | Bin 0 -> 123 bytes .../ri/Bundler/Source/Git/install-i.ri | Bin 0 -> 120 bytes .../Bundler/Source/Git/load_spec_files-i.ri | Bin 0 -> 132 bytes .../ri/Bundler/Source/Git/name-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/Source/Git/new-c.ri | Bin 0 -> 116 bytes .../ri/Bundler/Source/Git/options-i.ri | Bin 0 -> 105 bytes .../ri/Bundler/Source/Git/path-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/Source/Git/ref-i.ri | Bin 0 -> 97 bytes .../ri/Bundler/Source/Git/revision-i.ri | Bin 0 -> 119 bytes .../Source/Git/shortref_for_display-i.ri | Bin 0 -> 146 bytes .../Bundler/Source/Git/shortref_for_path-i.ri | Bin 0 -> 140 bytes .../ri/Bundler/Source/Git/specs-i.ri | Bin 0 -> 175 bytes .../ri/Bundler/Source/Git/submodules-i.ri | Bin 0 -> 111 bytes .../ri/Bundler/Source/Git/to_lock-i.ri | Bin 0 -> 116 bytes .../ri/Bundler/Source/Git/to_s-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/Source/Git/unlock%21-i.ri | Bin 0 -> 116 bytes .../ri/Bundler/Source/Git/uri-i.ri | Bin 0 -> 97 bytes .../ri/Bundler/Source/Git/uri_hash-i.ri | Bin 0 -> 119 bytes .../ri/Bundler/Source/Path/%3d%3d-i.ri | Bin 0 -> 108 bytes .../Source/Path/Installer/cdesc-Installer.ri | Bin 0 -> 233 bytes .../Source/Path/Installer/generate_bin-i.ri | Bin 0 -> 138 bytes .../ri/Bundler/Source/Path/Installer/new-c.ri | Bin 0 -> 139 bytes .../ri/Bundler/Source/Path/cache-i.ri | Bin 0 -> 117 bytes .../ri/Bundler/Source/Path/cached%21-i.ri | Bin 0 -> 117 bytes .../ri/Bundler/Source/Path/cdesc-Path.ri | Bin 0 -> 417 bytes .../ri/Bundler/Source/Path/eql%3f-i.ri | Bin 0 -> 148 bytes .../ri/Bundler/Source/Path/from_lock-c.ri | Bin 0 -> 129 bytes .../ri/Bundler/Source/Path/generate_bin-i.ri | Bin 0 -> 132 bytes .../ri/Bundler/Source/Path/hash-i.ri | Bin 0 -> 111 bytes .../ri/Bundler/Source/Path/install-i.ri | Bin 0 -> 121 bytes .../Bundler/Source/Path/load_spec_files-i.ri | Bin 0 -> 133 bytes .../ri/Bundler/Source/Path/local_specs-i.ri | Bin 0 -> 164 bytes .../ri/Bundler/Source/Path/name-i.ri | Bin 0 -> 184 bytes .../ri/Bundler/Source/Path/new-c.ri | Bin 0 -> 117 bytes .../ri/Bundler/Source/Path/options-i.ri | Bin 0 -> 106 bytes .../ri/Bundler/Source/Path/path-i.ri | Bin 0 -> 100 bytes .../ri/Bundler/Source/Path/relative_path-i.ri | Bin 0 -> 130 bytes .../ri/Bundler/Source/Path/remote%21-i.ri | Bin 0 -> 117 bytes .../ri/Bundler/Source/Path/specs-i.ri | Bin 0 -> 113 bytes .../ri/Bundler/Source/Path/to_lock-i.ri | Bin 0 -> 117 bytes .../ri/Bundler/Source/Path/to_s-i.ri | Bin 0 -> 111 bytes .../ri/Bundler/Source/Path/version-i.ri | Bin 0 -> 107 bytes .../ri/Bundler/Source/Rubygems/%3d%3d-i.ri | Bin 0 -> 112 bytes .../Bundler/Source/Rubygems/add_remote-i.ri | Bin 0 -> 133 bytes .../ri/Bundler/Source/Rubygems/cache-i.ri | Bin 0 -> 121 bytes .../ri/Bundler/Source/Rubygems/cached%21-i.ri | Bin 0 -> 121 bytes .../Bundler/Source/Rubygems/cached_gem-i.ri | Bin 0 -> 132 bytes .../Bundler/Source/Rubygems/cached_specs-i.ri | Bin 0 -> 132 bytes .../Bundler/Source/Rubygems/cdesc-Rubygems.ri | Bin 0 -> 545 bytes .../Rubygems/download_gem_from_uri-i.ri | Bin 0 -> 159 bytes .../ri/Bundler/Source/Rubygems/eql%3f-i.ri | Bin 0 -> 156 bytes .../ri/Bundler/Source/Rubygems/fetch-i.ri | Bin 0 -> 121 bytes .../Rubygems/fetch_all_remote_specs-i.ri | Bin 0 -> 156 bytes .../Bundler/Source/Rubygems/fetch_specs-i.ri | Bin 0 -> 130 bytes .../ri/Bundler/Source/Rubygems/from_lock-c.ri | Bin 0 -> 133 bytes .../ri/Bundler/Source/Rubygems/hash-i.ri | Bin 0 -> 115 bytes .../ri/Bundler/Source/Rubygems/install-i.ri | Bin 0 -> 125 bytes .../Source/Rubygems/installed_specs-i.ri | Bin 0 -> 138 bytes .../Source/Rubygems/merge_remotes-i.ri | Bin 0 -> 139 bytes .../ri/Bundler/Source/Rubygems/name-i.ri | Bin 0 -> 295 bytes .../ri/Bundler/Source/Rubygems/new-c.ri | Bin 0 -> 126 bytes .../Source/Rubygems/normalize_uri-i.ri | Bin 0 -> 137 bytes .../ri/Bundler/Source/Rubygems/options-i.ri | Bin 0 -> 121 bytes .../ri/Bundler/Source/Rubygems/remote%21-i.ri | Bin 0 -> 121 bytes .../Bundler/Source/Rubygems/remote_specs-i.ri | Bin 0 -> 132 bytes .../ri/Bundler/Source/Rubygems/remotes-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/Source/Rubygems/specs-i.ri | Bin 0 -> 117 bytes .../ri/Bundler/Source/Rubygems/sudo-i.ri | Bin 0 -> 118 bytes .../ri/Bundler/Source/Rubygems/to_lock-i.ri | Bin 0 -> 121 bytes .../ri/Bundler/Source/Rubygems/to_s-i.ri | Bin 0 -> 115 bytes .../ri/Bundler/Source/cdesc-Source.ri | Bin 0 -> 180 bytes .../ri/Bundler/SpecSet/%5b%5d%3d-i.ri | Bin 0 -> 114 bytes .../ri/Bundler/SpecSet/%5b%5d-i.ri | Bin 0 -> 105 bytes .../ri/Bundler/SpecSet/cdesc-SpecSet.ri | Bin 0 -> 358 bytes .../ri/Bundler/SpecSet/each-i.ri | Bin 0 -> 108 bytes .../bundler-1.0.0/ri/Bundler/SpecSet/for-i.ri | Bin 0 -> 174 bytes .../ri/Bundler/SpecSet/length-i.ri | Bin 0 -> 110 bytes .../ri/Bundler/SpecSet/lookup-i.ri | Bin 0 -> 111 bytes .../ri/Bundler/SpecSet/materialize-i.ri | Bin 0 -> 145 bytes .../ri/Bundler/SpecSet/merge-i.ri | Bin 0 -> 111 bytes .../bundler-1.0.0/ri/Bundler/SpecSet/new-c.ri | Bin 0 -> 110 bytes .../ri/Bundler/SpecSet/sorted-i.ri | Bin 0 -> 111 bytes .../ri/Bundler/SpecSet/to_a-i.ri | Bin 0 -> 106 bytes .../ri/Bundler/SpecSet/to_hash-i.ri | Bin 0 -> 112 bytes .../ri/Bundler/SpecSet/tsort_each_child-i.ri | Bin 0 -> 135 bytes .../ri/Bundler/SpecSet/tsort_each_node-i.ri | Bin 0 -> 131 bytes .../ri/Bundler/SpecSet/valid_for%3f-i.ri | Bin 0 -> 122 bytes .../ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri | Bin 0 -> 209 bytes .../ri/Bundler/UI/RGProxy/new-c.ri | Bin 0 -> 111 bytes .../ri/Bundler/UI/RGProxy/say-i.ri | Bin 0 -> 115 bytes .../ri/Bundler/UI/Shell/be_quiet%21-i.ri | Bin 0 -> 118 bytes .../ri/Bundler/UI/Shell/cdesc-Shell.ri | Bin 0 -> 235 bytes .../ri/Bundler/UI/Shell/confirm-i.ri | Bin 0 -> 117 bytes .../ri/Bundler/UI/Shell/debug-i.ri | Bin 0 -> 113 bytes .../ri/Bundler/UI/Shell/error-i.ri | Bin 0 -> 113 bytes .../ri/Bundler/UI/Shell/info-i.ri | Bin 0 -> 111 bytes .../ri/Bundler/UI/Shell/new-c.ri | Bin 0 -> 112 bytes .../ri/Bundler/UI/Shell/warn-i.ri | Bin 0 -> 111 bytes .../bundler-1.0.0/ri/Bundler/UI/cdesc-UI.ri | Bin 0 -> 206 bytes .../bundler-1.0.0/ri/Bundler/UI/confirm-i.ri | Bin 0 -> 114 bytes .../bundler-1.0.0/ri/Bundler/UI/error-i.ri | Bin 0 -> 110 bytes .../doc/bundler-1.0.0/ri/Bundler/UI/info-i.ri | Bin 0 -> 108 bytes .../doc/bundler-1.0.0/ri/Bundler/UI/warn-i.ri | Bin 0 -> 108 bytes .../VersionConflict/cdesc-VersionConflict.ri | Bin 0 -> 231 bytes .../ri/Bundler/VersionConflict/conflicts-i.ri | Bin 0 -> 113 bytes .../ri/Bundler/VersionConflict/new-c.ri | Bin 0 -> 133 bytes .../bundler-1.0.0/ri/Bundler/app_cache-c.ri | Bin 0 -> 108 bytes .../ri/Bundler/app_config_path-c.ri | Bin 0 -> 120 bytes .../bundler-1.0.0/ri/Bundler/bin_path-c.ri | Bin 0 -> 106 bytes .../bundler-1.0.0/ri/Bundler/bundle_path-c.ri | Bin 0 -> 112 bytes .../bundler-1.0.0/ri/Bundler/bundle_path-i.ri | Bin 0 -> 100 bytes .../doc/bundler-1.0.0/ri/Bundler/cache-c.ri | Bin 0 -> 100 bytes .../bundler-1.0.0/ri/Bundler/cdesc-Bundler.ri | Bin 0 -> 793 bytes .../bundler-1.0.0/ri/Bundler/configure-c.ri | Bin 0 -> 108 bytes .../Bundler/configure_gem_home_and_path-c.ri | Bin 0 -> 145 bytes .../ri/Bundler/default_gemfile-c.ri | Bin 0 -> 120 bytes .../ri/Bundler/default_lockfile-c.ri | Bin 0 -> 122 bytes .../bundler-1.0.0/ri/Bundler/definition-c.ri | Bin 0 -> 122 bytes .../bundler-1.0.0/ri/Bundler/environment-c.ri | Bin 0 -> 112 bytes .../doc/bundler-1.0.0/ri/Bundler/home-c.ri | Bin 0 -> 98 bytes .../ri/Bundler/install_path-c.ri | Bin 0 -> 114 bytes .../doc/bundler-1.0.0/ri/Bundler/load-c.ri | Bin 0 -> 98 bytes .../ri/Bundler/load_gemspec-c.ri | Bin 0 -> 118 bytes .../doc/bundler-1.0.0/ri/Bundler/mkdir_p-c.ri | Bin 0 -> 108 bytes .../bundler-1.0.0/ri/Bundler/read_file-c.ri | Bin 0 -> 112 bytes .../doc/bundler-1.0.0/ri/Bundler/require-c.ri | Bin 0 -> 111 bytes .../ri/Bundler/requires_sudo%3f-c.ri | Bin 0 -> 118 bytes .../doc/bundler-1.0.0/ri/Bundler/root-c.ri | Bin 0 -> 98 bytes .../bundler-1.0.0/ri/Bundler/ruby_scope-c.ri | Bin 0 -> 110 bytes .../bundler-1.0.0/ri/Bundler/settings-c.ri | Bin 0 -> 106 bytes .../doc/bundler-1.0.0/ri/Bundler/setup-c.ri | Bin 0 -> 107 bytes .../bundler-1.0.0/ri/Bundler/specs_path-c.ri | Bin 0 -> 110 bytes .../doc/bundler-1.0.0/ri/Bundler/sudo-c.ri | Bin 0 -> 101 bytes .../doc/bundler-1.0.0/ri/Bundler/tmp-c.ri | Bin 0 -> 96 bytes .../doc/bundler-1.0.0/ri/Bundler/ui-c.ri | Bin 0 -> 94 bytes .../doc/bundler-1.0.0/ri/Bundler/ui-i.ri | Bin 0 -> 82 bytes .../ri/Bundler/upgrade_lockfile-c.ri | Bin 0 -> 123 bytes .../ri/Bundler/user_bundle_path-c.ri | Bin 0 -> 122 bytes .../ri/Bundler/with_clean_env-c.ri | Bin 0 -> 119 bytes .../doc/bundler-1.0.0/ri/File/cdesc-File.ri | Bin 0 -> 169 bytes .../ri/Gem/Dependency/cdesc-Dependency.ri | Bin 0 -> 271 bytes .../ri/Gem/Dependency/groups-i.ri | Bin 0 -> 99 bytes .../ri/Gem/Dependency/required_by-i.ri | Bin 0 -> 119 bytes .../ri/Gem/Dependency/requirement-i.ri | Bin 0 -> 119 bytes .../ri/Gem/Dependency/source-i.ri | Bin 0 -> 99 bytes .../ri/Gem/Dependency/to_lock-i.ri | Bin 0 -> 111 bytes .../ri/Gem/Dependency/to_yaml_properties-i.ri | Bin 0 -> 133 bytes .../ri/Gem/Platform/cdesc-Platform.ri | Bin 0 -> 241 bytes .../bundler-1.0.0/ri/Gem/Platform/hash-i.ri | Bin 0 -> 103 bytes .../add_bundler_dependencies-i.ri | Bin 0 -> 155 bytes .../Gem/Specification/cdesc-Specification.ri | Bin 0 -> 484 bytes .../dependencies_to_gemfile-i.ri | Bin 0 -> 172 bytes .../ri/Gem/Specification/full_gem_path-i.ri | Bin 0 -> 173 bytes .../ri/Gem/Specification/git_version-i.ri | Bin 0 -> 122 bytes .../ri/Gem/Specification/groups-i.ri | Bin 0 -> 112 bytes .../ri/Gem/Specification/load_paths-i.ri | Bin 0 -> 120 bytes .../ri/Gem/Specification/loaded_from-i.ri | Bin 0 -> 167 bytes .../ri/Gem/Specification/location-i.ri | Bin 0 -> 106 bytes .../nondevelopment_dependencies-i.ri | Bin 0 -> 154 bytes .../Specification/relative_loaded_from-i.ri | Bin 0 -> 130 bytes .../ri/Gem/Specification/required_by-i.ri | Bin 0 -> 122 bytes .../Gem/Specification/rg_full_gem_path-i.ri | Bin 0 -> 132 bytes .../ri/Gem/Specification/rg_loaded_from-i.ri | Bin 0 -> 128 bytes .../ri/Gem/Specification/source-i.ri | Bin 0 -> 102 bytes .../ri/Gem/Specification/to_gemfile-i.ri | Bin 0 -> 130 bytes .../doc/bundler-1.0.0/ri/Gem/cdesc-Gem.ri | Bin 0 -> 254 bytes .../ClassMethods/add_runtime_options%21-i.ri | Bin 0 -> 230 bytes .../ClassMethods/cdesc-ClassMethods.ri | Bin 0 -> 272 bytes .../Actions/ClassMethods/source_paths-i.ri | Bin 0 -> 343 bytes .../ClassMethods/source_paths_for_search-i.ri | Bin 0 -> 380 bytes .../Actions/ClassMethods/source_root-i.ri | Bin 0 -> 220 bytes .../Actions/CreateFile/cdesc-CreateFile.ri | Bin 0 -> 353 bytes .../Thor/Actions/Directory/cdesc-Directory.ri | Bin 0 -> 206 bytes .../EmptyDirectory/cdesc-EmptyDirectory.ri | Bin 0 -> 511 bytes .../InjectIntoFile/cdesc-InjectIntoFile.ri | Bin 0 -> 216 bytes .../ri/Thor/Actions/add_file-i.ri | Bin 0 -> 137 bytes .../ri/Thor/Actions/append_file-i.ri | Bin 0 -> 861 bytes .../bundler-1.0.0/ri/Thor/Actions/apply-i.ri | Bin 0 -> 634 bytes .../ri/Thor/Actions/behavior-i.ri | Bin 0 -> 101 bytes .../ri/Thor/Actions/cdesc-Actions.ri | Bin 0 -> 548 bytes .../bundler-1.0.0/ri/Thor/Actions/chmod-i.ri | Bin 0 -> 640 bytes .../ri/Thor/Actions/copy_file-i.ri | Bin 0 -> 826 bytes .../ri/Thor/Actions/create_file-i.ri | Bin 0 -> 1007 bytes .../ri/Thor/Actions/destination_root%3d-i.ri | Bin 0 -> 286 bytes .../ri/Thor/Actions/destination_root-i.ri | Bin 0 -> 232 bytes .../ri/Thor/Actions/directory-i.ri | Bin 0 -> 1553 bytes .../ri/Thor/Actions/empty_directory-i.ri | Bin 0 -> 606 bytes .../ri/Thor/Actions/find_in_source_paths-i.ri | Bin 0 -> 239 bytes .../bundler-1.0.0/ri/Thor/Actions/get-i.ri | Bin 0 -> 947 bytes .../ri/Thor/Actions/gsub_file-i.ri | Bin 0 -> 951 bytes .../ri/Thor/Actions/in_root-i.ri | Bin 0 -> 188 bytes .../ri/Thor/Actions/inject_into_class-i.ri | Bin 0 -> 1062 bytes .../ri/Thor/Actions/inject_into_file-i.ri | Bin 0 -> 1205 bytes .../bundler-1.0.0/ri/Thor/Actions/inside-i.ri | Bin 0 -> 711 bytes .../bundler-1.0.0/ri/Thor/Actions/new-c.ri | Bin 0 -> 653 bytes .../ri/Thor/Actions/prepend_file-i.ri | Bin 0 -> 867 bytes ...relative_to_original_destination_root-i.ri | Bin 0 -> 313 bytes .../ri/Thor/Actions/remove_dir-i.ri | Bin 0 -> 130 bytes .../ri/Thor/Actions/remove_file-i.ri | Bin 0 -> 680 bytes .../bundler-1.0.0/ri/Thor/Actions/run-i.ri | Bin 0 -> 697 bytes .../ri/Thor/Actions/run_ruby_script-i.ri | Bin 0 -> 538 bytes .../ri/Thor/Actions/source_paths-i.ri | Bin 0 -> 210 bytes .../ri/Thor/Actions/template-i.ri | Bin 0 -> 887 bytes .../bundler-1.0.0/ri/Thor/Actions/thor-i.ri | Bin 0 -> 888 bytes .../ri/Thor/Argument/cdesc-Argument.ri | Bin 0 -> 187 bytes .../ri/Thor/Arguments/cdesc-Arguments.ri | Bin 0 -> 189 bytes .../ri/Thor/Base/ClassMethods/all_tasks-i.ri | Bin 0 -> 471 bytes .../ri/Thor/Base/ClassMethods/argument-i.ri | Bin 0 -> 1712 bytes .../ri/Thor/Base/ClassMethods/arguments-i.ri | Bin 0 -> 328 bytes .../Base/ClassMethods/cdesc-ClassMethods.ri | Bin 0 -> 465 bytes .../check_unknown_options%21-i.ri | Bin 0 -> 320 bytes .../Thor/Base/ClassMethods/class_option-i.ri | Bin 0 -> 927 bytes .../Thor/Base/ClassMethods/class_options-i.ri | Bin 0 -> 515 bytes .../ri/Thor/Base/ClassMethods/debugging-i.ri | Bin 0 -> 114 bytes .../Base/ClassMethods/exit_on_failure%3f-i.ri | Bin 0 -> 244 bytes .../Base/ClassMethods/from_superclass-i.ri | Bin 0 -> 272 bytes .../ri/Thor/Base/ClassMethods/group-i.ri | Bin 0 -> 420 bytes .../ri/Thor/Base/ClassMethods/inherited-i.ri | Bin 0 -> 255 bytes .../Thor/Base/ClassMethods/method_added-i.ri | Bin 0 -> 288 bytes .../ri/Thor/Base/ClassMethods/namespace-i.ri | Bin 0 -> 826 bytes .../ri/Thor/Base/ClassMethods/no_tasks-i.ri | Bin 0 -> 647 bytes .../Thor/Base/ClassMethods/print_options-i.ri | Bin 0 -> 239 bytes .../Base/ClassMethods/remove_argument-i.ri | Bin 0 -> 616 bytes .../ClassMethods/remove_class_option-i.ri | Bin 0 -> 569 bytes .../Thor/Base/ClassMethods/remove_task-i.ri | Bin 0 -> 827 bytes .../ri/Thor/Base/ClassMethods/start-i.ri | Bin 0 -> 591 bytes .../ri/Thor/Base/ClassMethods/tasks-i.ri | Bin 0 -> 444 bytes .../bundler-1.0.0/ri/Thor/Base/cdesc-Base.ri | Bin 0 -> 236 bytes .../doc/bundler-1.0.0/ri/Thor/Base/new-c.ri | Bin 0 -> 957 bytes .../bundler-1.0.0/ri/Thor/Base/options-i.ri | Bin 0 -> 96 bytes .../bundler-1.0.0/ri/Thor/Base/shell%3d-c.ri | Bin 0 -> 183 bytes .../doc/bundler-1.0.0/ri/Thor/Base/shell-c.ri | Bin 0 -> 286 bytes .../ri/Thor/Base/subclass_files-c.ri | Bin 0 -> 315 bytes .../ri/Thor/Base/subclasses-c.ri | Bin 0 -> 303 bytes .../cdesc-HashWithIndifferentAccess.ri | Bin 0 -> 569 bytes .../CoreExt/OrderedHash/cdesc-OrderedHash.ri | Bin 0 -> 456 bytes .../ri/Thor/CoreExt/cdesc-CoreExt.ri | Bin 0 -> 179 bytes .../ri/Thor/DynamicTask/cdesc-DynamicTask.ri | Bin 0 -> 287 bytes .../ri/Thor/DynamicTask/new-c.ri | Bin 0 -> 123 bytes .../ri/Thor/DynamicTask/run-i.ri | Bin 0 -> 122 bytes .../ri/Thor/Error/cdesc-Error.ri | Bin 0 -> 614 bytes .../ri/Thor/HiddenTask/cdesc-HiddenTask.ri | Bin 0 -> 290 bytes .../ri/Thor/HiddenTask/hidden%3f-i.ri | Bin 0 -> 112 bytes .../ClassMethods/cdesc-ClassMethods.ri | Bin 0 -> 201 bytes .../ri/Thor/Invocation/cdesc-Invocation.ri | Bin 0 -> 214 bytes .../ri/Thor/Invocation/invoke-i.ri | Bin 0 -> 2593 bytes .../Thor/Invocation/invoke_with_padding-i.ri | Bin 0 -> 202 bytes .../InvocationError/cdesc-InvocationError.ri | Bin 0 -> 288 bytes .../cdesc-MalformattedArgumentError.ri | Bin 0 -> 230 bytes .../ri/Thor/Option/cdesc-Option.ri | Bin 0 -> 185 bytes .../ri/Thor/Options/cdesc-Options.ri | Bin 0 -> 318 bytes .../cdesc-RequiredArgumentMissingError.ri | Bin 0 -> 236 bytes .../ri/Thor/Sandbox/cdesc-Sandbox.ri | Bin 0 -> 179 bytes .../ri/Thor/Shell/Basic/ask-i.ri | Bin 0 -> 320 bytes .../ri/Thor/Shell/Basic/base-i.ri | Bin 0 -> 98 bytes .../ri/Thor/Shell/Basic/cdesc-Basic.ri | Bin 0 -> 395 bytes .../ri/Thor/Shell/Basic/dynamic_width-i.ri | Bin 0 -> 205 bytes .../Thor/Shell/Basic/dynamic_width_stty-i.ri | Bin 0 -> 139 bytes .../Thor/Shell/Basic/dynamic_width_tput-i.ri | Bin 0 -> 139 bytes .../ri/Thor/Shell/Basic/error-i.ri | Bin 0 -> 421 bytes .../ri/Thor/Shell/Basic/file_collision-i.ri | Bin 0 -> 672 bytes .../ri/Thor/Shell/Basic/no%3f-i.ri | Bin 0 -> 237 bytes .../ri/Thor/Shell/Basic/padding%3d-i.ri | Bin 0 -> 214 bytes .../ri/Thor/Shell/Basic/padding-i.ri | Bin 0 -> 104 bytes .../ri/Thor/Shell/Basic/print_table-i.ri | Bin 0 -> 566 bytes .../ri/Thor/Shell/Basic/print_wrapped-i.ri | Bin 0 -> 582 bytes .../ri/Thor/Shell/Basic/say-i.ri | Bin 0 -> 523 bytes .../ri/Thor/Shell/Basic/say_status-i.ri | Bin 0 -> 444 bytes .../ri/Thor/Shell/Basic/terminal_width-i.ri | Bin 0 -> 261 bytes .../ri/Thor/Shell/Basic/truncate-i.ri | Bin 0 -> 132 bytes .../ri/Thor/Shell/Basic/unix%3f-i.ri | Bin 0 -> 113 bytes .../ri/Thor/Shell/Basic/yes%3f-i.ri | Bin 0 -> 240 bytes .../ri/Thor/Shell/Color/cdesc-Color.ri | Bin 0 -> 1741 bytes .../ri/Thor/Shell/Color/set_color-i.ri | Bin 0 -> 417 bytes .../bundler-1.0.0/ri/Thor/Shell/HTML/ask-i.ri | Bin 0 -> 375 bytes .../ri/Thor/Shell/HTML/cdesc-HTML.ri | Bin 0 -> 1804 bytes .../ri/Thor/Shell/HTML/set_color-i.ri | Bin 0 -> 416 bytes .../ri/Thor/Shell/cdesc-Shell.ri | Bin 0 -> 244 bytes .../doc/bundler-1.0.0/ri/Thor/Shell/new-c.ri | Bin 0 -> 651 bytes .../bundler-1.0.0/ri/Thor/Shell/shell%3d-i.ri | Bin 0 -> 178 bytes .../bundler-1.0.0/ri/Thor/Shell/shell-i.ri | Bin 0 -> 250 bytes .../ri/Thor/Shell/with_padding-i.ri | Bin 0 -> 187 bytes .../bundler-1.0.0/ri/Thor/Task/cdesc-Task.ri | Bin 0 -> 383 bytes .../ri/Thor/Task/formatted_usage-i.ri | Bin 0 -> 307 bytes .../Thor/Task/handle_argument_error%3f-i.ri | Bin 0 -> 162 bytes .../Thor/Task/handle_no_method_error%3f-i.ri | Bin 0 -> 164 bytes .../bundler-1.0.0/ri/Thor/Task/hidden%3f-i.ri | Bin 0 -> 106 bytes .../doc/bundler-1.0.0/ri/Thor/Task/new-c.ri | Bin 0 -> 154 bytes .../ri/Thor/Task/not_debugging%3f-i.ri | Bin 0 -> 131 bytes .../ri/Thor/Task/required_options-i.ri | Bin 0 -> 127 bytes .../doc/bundler-1.0.0/ri/Thor/Task/run-i.ri | Bin 0 -> 262 bytes .../cdesc-UndefinedTaskError.ri | Bin 0 -> 272 bytes .../cdesc-UnknownArgumentError.ri | Bin 0 -> 210 bytes .../ri/Thor/Util/camel_case-c.ri | Bin 0 -> 360 bytes .../bundler-1.0.0/ri/Thor/Util/cdesc-Util.ri | Bin 0 -> 785 bytes .../ri/Thor/Util/find_by_namespace-c.ri | Bin 0 -> 456 bytes .../find_class_and_task_by_namespace-c.ri | Bin 0 -> 1043 bytes .../bundler-1.0.0/ri/Thor/Util/globs_for-c.ri | Bin 0 -> 177 bytes .../ri/Thor/Util/load_thorfile-c.ri | Bin 0 -> 307 bytes .../Thor/Util/namespace_from_thor_class-c.ri | Bin 0 -> 912 bytes .../ri/Thor/Util/namespaces_in_content-c.ri | Bin 0 -> 444 bytes .../ri/Thor/Util/ruby_command-c.ri | Bin 0 -> 257 bytes .../ri/Thor/Util/snake_case-c.ri | Bin 0 -> 360 bytes .../ri/Thor/Util/thor_classes_in-c.ri | Bin 0 -> 218 bytes .../bundler-1.0.0/ri/Thor/Util/thor_root-c.ri | Bin 0 -> 214 bytes .../ri/Thor/Util/thor_root_glob-c.ri | Bin 0 -> 407 bytes .../bundler-1.0.0/ri/Thor/Util/user_home-c.ri | Bin 0 -> 111 bytes .../doc/bundler-1.0.0/ri/Thor/banner-c.ri | Bin 0 -> 438 bytes .../doc/bundler-1.0.0/ri/Thor/cdesc-Thor.ri | Bin 0 -> 565 bytes .../ri/Thor/check_unknown_options%21-c.ri | Bin 0 -> 381 bytes .../bundler-1.0.0/ri/Thor/default_task-c.ri | Bin 0 -> 443 bytes .../doc/bundler-1.0.0/ri/Thor/desc-c.ri | Bin 0 -> 353 bytes .../doc/bundler-1.0.0/ri/Thor/help-c.ri | Bin 0 -> 299 bytes .../doc/bundler-1.0.0/ri/Thor/help-i.ri | Bin 0 -> 124 bytes .../doc/bundler-1.0.0/ri/Thor/long_desc-c.ri | Bin 0 -> 325 bytes .../doc/bundler-1.0.0/ri/Thor/map-c.ri | Bin 0 -> 584 bytes .../bundler-1.0.0/ri/Thor/method_option-c.ri | Bin 0 -> 1156 bytes .../bundler-1.0.0/ri/Thor/method_options-c.ri | Bin 0 -> 623 bytes .../ri/Thor/printable_tasks-c.ri | Bin 0 -> 214 bytes .../doc/bundler-1.0.0/ri/Thor/subcommand-c.ri | Bin 0 -> 135 bytes .../ri/Thor/subcommand_help-c.ri | Bin 0 -> 123 bytes .../bundler-1.0.0/ri/Thor/subcommands-c.ri | Bin 0 -> 109 bytes .../doc/bundler-1.0.0/ri/Thor/task_help-c.ri | Bin 0 -> 323 bytes .../bundler/doc/bundler-1.0.0/ri/cache.ri | 47 + .../bundler/doc/bundler-1.0.0/ri/created.rid | 65 + .../bundler/gems/bundler-1.0.0/CHANGELOG.md | 503 +++++ .../bundler/gems/bundler-1.0.0/ISSUES.md | 32 + .../bundler/gems/bundler-1.0.0/LICENSE | 20 + .../bundler/gems/bundler-1.0.0/README.md | 27 + .../bundler/gems/bundler-1.0.0/ROADMAP.md | 36 + .../bundler/gems/bundler-1.0.0/bin/bundle | 21 + .../bundler/gems/bundler-1.0.0/lib/bundler.rb | 283 +++ .../bundler-1.0.0/lib/bundler/capistrano.rb | 40 + .../gems/bundler-1.0.0/lib/bundler/cli.rb | 498 +++++ .../bundler-1.0.0/lib/bundler/definition.rb | 421 ++++ .../bundler-1.0.0/lib/bundler/dependency.rb | 114 + .../gems/bundler-1.0.0/lib/bundler/dsl.rb | 245 +++ .../bundler-1.0.0/lib/bundler/environment.rb | 47 + .../bundler-1.0.0/lib/bundler/gem_helper.rb | 150 ++ .../gems/bundler-1.0.0/lib/bundler/graph.rb | 130 ++ .../gems/bundler-1.0.0/lib/bundler/index.rb | 114 + .../bundler-1.0.0/lib/bundler/installer.rb | 83 + .../lib/bundler/lazy_specification.rb | 71 + .../lib/bundler/lockfile_parser.rb | 108 + .../gems/bundler-1.0.0/lib/bundler/man/bundle | 96 + .../lib/bundler/man/bundle-config | 0 .../lib/bundler/man/bundle-config.txt | 66 + .../bundler-1.0.0/lib/bundler/man/bundle-exec | 107 + .../lib/bundler/man/bundle-exec.txt | 115 + .../lib/bundler/man/bundle-install | 280 +++ .../lib/bundler/man/bundle-install.txt | 331 +++ .../lib/bundler/man/bundle-package | 49 + .../lib/bundler/man/bundle-package.txt | 66 + .../lib/bundler/man/bundle-update | 202 ++ .../lib/bundler/man/bundle-update.txt | 207 ++ .../bundler-1.0.0/lib/bundler/man/bundle.txt | 83 + .../bundler-1.0.0/lib/bundler/man/gemfile.5 | 343 +++ .../lib/bundler/man/gemfile.5.txt | 317 +++ .../lib/bundler/remote_specification.rb | 59 + .../bundler-1.0.0/lib/bundler/resolver.rb | 455 ++++ .../bundler-1.0.0/lib/bundler/rubygems_ext.rb | 203 ++ .../gems/bundler-1.0.0/lib/bundler/runtime.rb | 148 ++ .../bundler-1.0.0/lib/bundler/settings.rb | 117 + .../gems/bundler-1.0.0/lib/bundler/setup.rb | 15 + .../lib/bundler/shared_helpers.rb | 153 ++ .../gems/bundler-1.0.0/lib/bundler/source.rb | 660 ++++++ .../bundler-1.0.0/lib/bundler/spec_set.rb | 134 ++ .../lib/bundler/templates/Executable | 14 + .../lib/bundler/templates/Gemfile | 4 + .../lib/bundler/templates/newgem/Gemfile.tt | 4 + .../lib/bundler/templates/newgem/Rakefile.tt | 2 + .../lib/bundler/templates/newgem/gitignore.tt | 3 + .../bundler/templates/newgem/lib/newgem.rb.tt | 7 + .../templates/newgem/lib/newgem/version.rb.tt | 7 + .../templates/newgem/newgem.gemspec.tt | 22 + .../gems/bundler-1.0.0/lib/bundler/ui.rb | 60 + .../bundler-1.0.0/lib/bundler/vendor/thor.rb | 319 +++ .../lib/bundler/vendor/thor/actions.rb | 297 +++ .../vendor/thor/actions/create_file.rb | 105 + .../bundler/vendor/thor/actions/directory.rb | 93 + .../vendor/thor/actions/empty_directory.rb | 134 ++ .../vendor/thor/actions/file_manipulation.rb | 229 ++ .../vendor/thor/actions/inject_into_file.rb | 104 + .../lib/bundler/vendor/thor/base.rb | 556 +++++ .../vendor/thor/core_ext/file_binary_read.rb | 9 + .../core_ext/hash_with_indifferent_access.rb | 75 + .../vendor/thor/core_ext/ordered_hash.rb | 100 + .../lib/bundler/vendor/thor/error.rb | 30 + .../lib/bundler/vendor/thor/invocation.rb | 168 ++ .../lib/bundler/vendor/thor/parser.rb | 4 + .../bundler/vendor/thor/parser/argument.rb | 67 + .../bundler/vendor/thor/parser/arguments.rb | 161 ++ .../lib/bundler/vendor/thor/parser/option.rb | 120 + .../lib/bundler/vendor/thor/parser/options.rb | 174 ++ .../lib/bundler/vendor/thor/shell.rb | 88 + .../lib/bundler/vendor/thor/shell/basic.rb | 275 +++ .../lib/bundler/vendor/thor/shell/color.rb | 108 + .../lib/bundler/vendor/thor/shell/html.rb | 121 + .../lib/bundler/vendor/thor/task.rb | 114 + .../lib/bundler/vendor/thor/util.rb | 229 ++ .../lib/bundler/vendor/thor/version.rb | 3 + .../gems/bundler-1.0.0/lib/bundler/version.rb | 6 + .../bundler/specifications/bundler.gemspec | 36 + vendor/plugins/rack/lib/rack.rb | 6 +- vendor/plugins/rack/lib/rack/handler.rb | 3 +- vendor/plugins/sqlite3-ruby/API_CHANGES.rdoc | 48 - vendor/plugins/sqlite3-ruby/CHANGELOG.rdoc | 150 -- vendor/plugins/sqlite3-ruby/ChangeLog.cvs | 88 - vendor/plugins/sqlite3-ruby/LICENSE | 27 - vendor/plugins/sqlite3-ruby/Manifest.txt | 46 - vendor/plugins/sqlite3-ruby/README.rdoc | 74 - vendor/plugins/sqlite3-ruby/Rakefile | 10 - .../sqlite3-ruby/ext/sqlite3/database.c | 760 ------- .../sqlite3-ruby/ext/sqlite3/database.h | 15 - .../sqlite3-ruby/ext/sqlite3/exception.c | 94 - .../sqlite3-ruby/ext/sqlite3/exception.h | 8 - .../sqlite3-ruby/ext/sqlite3/extconf.rb | 43 - .../sqlite3-ruby/ext/sqlite3/sqlite3.c | 33 - .../sqlite3-ruby/ext/sqlite3/sqlite3_ruby.h | 43 - .../sqlite3-ruby/ext/sqlite3/statement.c | 419 ---- .../sqlite3-ruby/ext/sqlite3/statement.h | 16 - vendor/plugins/sqlite3-ruby/faq/faq.rb | 145 -- vendor/plugins/sqlite3-ruby/faq/faq.yml | 426 ---- vendor/plugins/sqlite3-ruby/lib/sqlite3.rb | 10 - .../sqlite3-ruby/lib/sqlite3/constants.rb | 49 - .../sqlite3-ruby/lib/sqlite3/database.rb | 570 ----- .../sqlite3-ruby/lib/sqlite3/errors.rb | 44 - .../sqlite3-ruby/lib/sqlite3/pragmas.rb | 280 --- .../sqlite3-ruby/lib/sqlite3/resultset.rb | 126 -- .../sqlite3-ruby/lib/sqlite3/statement.rb | 148 -- .../sqlite3-ruby/lib/sqlite3/translator.rb | 114 - .../plugins/sqlite3-ruby/lib/sqlite3/value.rb | 57 - .../sqlite3-ruby/lib/sqlite3/version.rb | 16 - vendor/plugins/sqlite3-ruby/setup.rb | 1333 ----------- vendor/plugins/sqlite3-ruby/test/helper.rb | 3 - .../sqlite3-ruby/test/test_collation.rb | 82 - .../sqlite3-ruby/test/test_database.rb | 295 --- .../sqlite3-ruby/test/test_deprecated.rb | 33 - .../sqlite3-ruby/test/test_encoding.rb | 119 - .../sqlite3-ruby/test/test_integration.rb | 545 ----- .../test/test_integration_open_close.rb | 30 - .../test/test_integration_pending.rb | 115 - .../test/test_integration_resultset.rb | 183 -- .../test/test_integration_statement.rb | 194 -- .../plugins/sqlite3-ruby/test/test_sqlite3.rb | 9 - .../sqlite3-ruby/test/test_statement.rb | 207 -- .../test/test_statement_execute.rb | 35 - 922 files changed, 71577 insertions(+), 7055 deletions(-) create mode 100644 Gemfile create mode 100755 bundle create mode 100644 config/preinitializer.rb create mode 100755 vendor/plugins/bundler/bin/bundle create mode 100644 vendor/plugins/bundler/cache/bundler-1.0.0.gem create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/BundlerError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/CLI.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Definition.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DepProxy.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dependency.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DeprecatedError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dsl.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DslError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Environment.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelper.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelpers.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemNotFound.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileNotFound.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemspecError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GitError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Graph.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GraphNode.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Index.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Installer.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidOption.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidSpecSet.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LazySpecification.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LockfileParser.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/MatchPlatform.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/PathError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/ProductionError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/RemoteSpecification.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver/SpecGroup.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Runtime.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Settings.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Git.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path/Installer.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Rubygems.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SpecSet.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/RGProxy.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/Shell.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/VersionConflict.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/File.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Dependency.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Platform.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Specification.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/ClassMethods.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/CreateFile.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/Directory.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/EmptyDirectory.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/InjectIntoFile.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Argument.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Arguments.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base/ClassMethods.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/HashWithIndifferentAccess.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/OrderedHash.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/DynamicTask.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Error.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/HiddenTask.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation/ClassMethods.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/InvocationError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/MalformattedArgumentError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Option.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Options.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/RequiredArgumentMissingError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Sandbox.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Basic.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Color.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/HTML.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Task.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UndefinedTaskError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UnknownArgumentError.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Util.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/created.rid create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick_link.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bug.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_black.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_toggle_minus.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_toggle_plus.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/date.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/find.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/loadingAnimation.gif create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/macFFBgHack.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/package.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_green.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_text.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_width.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/plugin.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/ruby.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/tag_green.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench_orange.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/zoom.png create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/index.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/darkfish.js create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/jquery.js create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/quicksearch.js create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/thickbox-compressed.js create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/capistrano_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/cli_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/definition_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dependency_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dsl_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/environment_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/gem_helper_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/graph_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/index_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/installer_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lazy_specification_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lockfile_parser_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config_txt.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec_txt.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install_txt.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package_txt.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update_txt.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle_txt.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/gemfile_5_txt.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/remote_specification_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/resolver_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/rubygems_ext_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/runtime_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/settings_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/setup_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/shared_helpers_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/source_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/spec_set_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/templates/Gemfile.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/ui_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/base_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/error_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/invocation_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/option_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/options_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/color_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/html_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/task_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/util_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/version_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/version_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler_rb.html create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/rdoc.css create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/cdesc-BundlerError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/status_code-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/cache-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/cdesc-CLI.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/check-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/config-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/console-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/exec-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/have_groff%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/help-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/init-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/install-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/locate_gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/open-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/package-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/show-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/source_root-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/unlock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/update-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/version-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/viz-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/build-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/cdesc-Definition.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_locked_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_sources-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/current_dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/ensure_equivalent_gemfile_and_lockfile-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expand_dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expanded_dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/groups-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/in_locked_deps%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/index-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/missing_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_platform%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/no_sources%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/platforms-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/pretty_dep-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/removed_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve_remotely%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve_with_cache%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/satisfies_locked_spec%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sorted_sources-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sources-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs_for-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/to_lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/%3d%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/__platform-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/cdesc-DepProxy.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/dep-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/eql%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/hash-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/method_missing-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/required_by-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/to_s-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/type-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/autorequire-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/cdesc-Dependency.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_env%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_platform%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/gem_platforms-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/groups-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/jruby%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_18%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_19%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mswin%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/platforms-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_18%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_19%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/should_include%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/to_lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DeprecatedError/cdesc-DeprecatedError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_deprecated_options-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_normalize_hash-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_normalize_options-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/cdesc-Dsl.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/deprecate-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/env-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/evaluate-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gemspec-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/git-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/group-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/platforms-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/rubygems_source-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/source-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/to_definition-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DslError/cdesc-DslError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/cdesc-Environment.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/current_dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/index-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/inspect-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/requested_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/root-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/update-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/base-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/build_gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/built_gem_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/cdesc-GemHelper.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/clean%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/gemspec-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/git_push-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_already_tagged-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_clean-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_tasks-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/perform_git_push-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/release_gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/rubygem_push-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh_with_code-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/spec_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tag_version-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tagged_sha-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version_tag-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelpers/cdesc-GemHelpers.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelpers/generic-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemNotFound/cdesc-GemNotFound.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileError/cdesc-GemfileError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemspecError/cdesc-GemspecError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GitError/cdesc-GitError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/cdesc-Graph.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/groups-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/nodes-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/populate-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/viz-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/cdesc-GraphNode.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/is_user-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/version-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3c%3c-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3d%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%5b%5d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/build-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/cdesc-Index.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/each-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/empty%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/initialize_copy-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_dependency-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_spec-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_for_all_platforms-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/sources-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/use-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/cdesc-Installer.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/install-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/run-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidSpecSet/cdesc-InvalidSpecSet.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/__materialize__-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/full_name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/method_missing-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/platform-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/respond_to%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/satisfies%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/source-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_s-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/version-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_dependency-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_platform-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_source-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_spec-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/platforms-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/sources-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/match_platform-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/PathError/cdesc-PathError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ProductionError/cdesc-ProductionError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/__swap__-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/_remote_specification-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/fetch_platform-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/full_name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/method_missing-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/platform-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/source-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/version-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activated-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/for%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/initialize_copy-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/required_by-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/source-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_s-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/version-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/cdesc-Resolver.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/clean_req-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/debug-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/error_message-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/errors-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/gem_message-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve_requirement-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/search-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/start-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/successify-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/version_conflict-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cdesc-Runtime.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/dependencies_for-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/prune_cache-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/require-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/setup-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/setup_environment-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/all-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/allow_sudo%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/cdesc-Settings.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/delete-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/global_config_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/key_for-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/local_config_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/locations-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/pretty_values_for-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_global-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_key-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/SourceIndex/cdesc-SourceIndex.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cdesc-SharedHelpers.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/clean_load_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cripple_rubygems-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_gemfile-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_lockfile-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/find_gemfile-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem_loaded-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/in_bundle%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/reverse_rubygems_kernel_mixin-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/%3d%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/allow_git_ops%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/base_name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cached%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cdesc-Git.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/checkout-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/eql%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/from_lock-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/git-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/has_revision_cached%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/in_cache-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/install-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/load_spec_files-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/options-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/ref-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/revision-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_display-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/submodules-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_s-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/unlock%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri_hash-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/%3d%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/cdesc-Installer.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/generate_bin-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cache-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cached%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cdesc-Path.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/eql%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/from_lock-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/generate_bin-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/hash-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/install-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/load_spec_files-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/local_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/options-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/relative_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/remote%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_s-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/version-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/%3d%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/add_remote-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cache-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_gem-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cdesc-Rubygems.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/download_gem_from_uri-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/eql%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_all_remote_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/from_lock-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/hash-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/install-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/installed_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/merge_remotes-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/name-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/normalize_uri-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/options-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote_specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remotes-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/specs-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/sudo-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_s-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/cdesc-Source.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/cdesc-SpecSet.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/each-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/for-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/length-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/lookup-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/materialize-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/merge-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/sorted-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_a-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_hash-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_child-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_node-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/valid_for%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/say-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/be_quiet%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/cdesc-Shell.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/confirm-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/debug-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/error-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/info-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/warn-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/cdesc-UI.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/confirm-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/error-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/info-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/warn-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/conflicts-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_cache-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_config_path-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bin_path-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cache-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cdesc-Bundler.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure_gem_home_and_path-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_gemfile-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_lockfile-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/definition-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/environment-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/home-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/install_path-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load_gemspec-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/mkdir_p-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/read_file-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/require-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/requires_sudo%3f-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/root-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ruby_scope-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/settings-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/setup-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/specs_path-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/sudo-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/tmp-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ui-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ui-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/upgrade_lockfile-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/user_bundle_path-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/with_clean_env-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/File/cdesc-File.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/cdesc-Dependency.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/groups-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/required_by-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/requirement-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/source-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_lock-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_yaml_properties-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/cdesc-Platform.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/hash-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/add_bundler_dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/cdesc-Specification.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/dependencies_to_gemfile-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/full_gem_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/git_version-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/groups-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/load_paths-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/loaded_from-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/location-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/nondevelopment_dependencies-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/relative_loaded_from-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/required_by-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_full_gem_path-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_loaded_from-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/source-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/to_gemfile-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/cdesc-Gem.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/add_runtime_options%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/cdesc-ClassMethods.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths_for_search-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_root-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/CreateFile/cdesc-CreateFile.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/Directory/cdesc-Directory.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/EmptyDirectory/cdesc-EmptyDirectory.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/InjectIntoFile/cdesc-InjectIntoFile.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/add_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/append_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/apply-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/behavior-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/cdesc-Actions.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/chmod-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/copy_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/create_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/directory-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/empty_directory-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/find_in_source_paths-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/get-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/gsub_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/in_root-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_class-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inside-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/prepend_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/relative_to_original_destination_root-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_dir-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_file-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run_ruby_script-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/source_paths-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/template-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/thor-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Argument/cdesc-Argument.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Arguments/cdesc-Arguments.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/all_tasks-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/argument-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/arguments-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/cdesc-ClassMethods.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/check_unknown_options%21-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_option-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_options-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/debugging-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/exit_on_failure%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/from_superclass-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/group-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/inherited-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/method_added-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/namespace-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/no_tasks-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/print_options-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_argument-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_class_option-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_task-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/start-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/tasks-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/cdesc-Base.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/options-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell%3d-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclass_files-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclasses-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/HashWithIndifferentAccess/cdesc-HashWithIndifferentAccess.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/OrderedHash/cdesc-OrderedHash.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/cdesc-CoreExt.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/cdesc-DynamicTask.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/run-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Error/cdesc-Error.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/HiddenTask/cdesc-HiddenTask.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/HiddenTask/hidden%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/ClassMethods/cdesc-ClassMethods.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/cdesc-Invocation.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke_with_padding-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/InvocationError/cdesc-InvocationError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/MalformattedArgumentError/cdesc-MalformattedArgumentError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Option/cdesc-Option.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Options/cdesc-Options.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/RequiredArgumentMissingError/cdesc-RequiredArgumentMissingError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Sandbox/cdesc-Sandbox.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/ask-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/base-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/cdesc-Basic.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_stty-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_tput-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/error-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/file_collision-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/no%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_table-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_wrapped-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say_status-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/terminal_width-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/truncate-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/unix%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/yes%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/cdesc-Color.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/set_color-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/ask-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/cdesc-HTML.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/set_color-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/cdesc-Shell.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell%3d-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/with_padding-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/cdesc-Task.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/formatted_usage-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_argument_error%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_no_method_error%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/hidden%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/new-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/not_debugging%3f-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/required_options-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/run-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/UndefinedTaskError/cdesc-UndefinedTaskError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/UnknownArgumentError/cdesc-UnknownArgumentError.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/camel_case-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/cdesc-Util.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_by_namespace-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_class_and_task_by_namespace-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/globs_for-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/load_thorfile-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespace_from_thor_class-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespaces_in_content-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/ruby_command-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/snake_case-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_classes_in-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_root-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/thor_root_glob-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/user_home-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/banner-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/cdesc-Thor.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/check_unknown_options%21-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/default_task-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/desc-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-i.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/long_desc-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/map-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_option-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_options-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/printable_tasks-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand_help-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommands-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/task_help-c.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/cache.ri create mode 100644 vendor/plugins/bundler/doc/bundler-1.0.0/ri/created.rid create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/CHANGELOG.md create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/ISSUES.md create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/LICENSE create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/README.md create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/ROADMAP.md create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/bin/bundle create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/capistrano.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/cli.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/definition.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dependency.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dsl.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/environment.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/gem_helper.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/graph.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/index.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/installer.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lazy_specification.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lockfile_parser.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config.txt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec.txt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install.txt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package.txt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update.txt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle.txt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5 create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5.txt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/remote_specification.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/resolver.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/rubygems_ext.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/runtime.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/settings.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/setup.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/shared_helpers.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/source.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/spec_set.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Executable create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Gemfile create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Gemfile.tt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Rakefile.tt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/gitignore.tt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem.rb.tt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem/version.rb.tt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/newgem.gemspec.tt create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/ui.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/create_file.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/directory.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/empty_directory.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/file_manipulation.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/inject_into_file.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/file_binary_read.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/ordered_hash.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/error.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/argument.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/arguments.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/option.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/options.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/basic.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/color.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/html.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/util.rb create mode 100755 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/version.rb create mode 100644 vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/version.rb create mode 100644 vendor/plugins/bundler/specifications/bundler.gemspec delete mode 100644 vendor/plugins/sqlite3-ruby/API_CHANGES.rdoc delete mode 100644 vendor/plugins/sqlite3-ruby/CHANGELOG.rdoc delete mode 100644 vendor/plugins/sqlite3-ruby/ChangeLog.cvs delete mode 100644 vendor/plugins/sqlite3-ruby/LICENSE delete mode 100644 vendor/plugins/sqlite3-ruby/Manifest.txt delete mode 100644 vendor/plugins/sqlite3-ruby/README.rdoc delete mode 100644 vendor/plugins/sqlite3-ruby/Rakefile delete mode 100644 vendor/plugins/sqlite3-ruby/ext/sqlite3/database.c delete mode 100644 vendor/plugins/sqlite3-ruby/ext/sqlite3/database.h delete mode 100644 vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.c delete mode 100644 vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.h delete mode 100644 vendor/plugins/sqlite3-ruby/ext/sqlite3/extconf.rb delete mode 100644 vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3.c delete mode 100644 vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3_ruby.h delete mode 100644 vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.c delete mode 100644 vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.h delete mode 100644 vendor/plugins/sqlite3-ruby/faq/faq.rb delete mode 100644 vendor/plugins/sqlite3-ruby/faq/faq.yml delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3.rb delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3/constants.rb delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3/database.rb delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3/errors.rb delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3/pragmas.rb delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3/resultset.rb delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3/statement.rb delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3/translator.rb delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3/value.rb delete mode 100644 vendor/plugins/sqlite3-ruby/lib/sqlite3/version.rb delete mode 100644 vendor/plugins/sqlite3-ruby/setup.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/helper.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_collation.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_database.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_deprecated.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_encoding.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_integration.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_integration_open_close.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_integration_pending.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_integration_resultset.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_integration_statement.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_sqlite3.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_statement.rb delete mode 100644 vendor/plugins/sqlite3-ruby/test/test_statement_execute.rb diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..98b96bad --- /dev/null +++ b/Gemfile @@ -0,0 +1,7 @@ +source "http://rubygems.org" +gem "sqlite3-ruby", :require => "sqlite3" +gem "itextomml", ">=1.4.2" +gem "mongrel", ">=1.2.0.pre2" +gem "nokogiri" +gem "rake" +gem "json" diff --git a/bundle b/bundle new file mode 100755 index 00000000..0aba2f43 --- /dev/null +++ b/bundle @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby +# +# This file was generated by RubyGems. +# +# The application 'bundler' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' +vend = File.join(File.dirname(__FILE__), 'vendor') +Gem.use_paths File.join(vend, 'bundle', File.basename(Gem.dir)), (Gem.path + [File.join(vend, 'plugins', 'bundler')]) + +version = ">= 0" + +if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then + version = $1 + ARGV.shift +end + +gem 'bundler', version +load Gem.bin_path('bundler', 'bundle', version) diff --git a/config/boot.rb b/config/boot.rb index cd21fb9e..7c5c0d46 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,7 +1,7 @@ # Don't change this file! # Configure your app in config/environment.rb and config/environments/*.rb -RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT) +RAILS_ROOT = File.join(File.dirname(__FILE__), '..') unless defined?(RAILS_ROOT) module Rails class << self @@ -21,7 +21,7 @@ module Rails end def vendor_rails? - File.exist?("#{RAILS_ROOT}/vendor/rails") + File.exist?(File.join(RAILS_ROOT, 'vendor', 'rails')) end def preinitialize @@ -29,7 +29,7 @@ module Rails end def preinitializer_path - "#{RAILS_ROOT}/config/preinitializer.rb" + File.join(RAILS_ROOT, 'config', 'preinitializer.rb') end end @@ -42,8 +42,9 @@ module Rails class VendorBoot < Boot def load_initializer - require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer" + require File.join(RAILS_ROOT, 'vendor', 'rails', 'railties', 'lib', 'initializer') Rails::Initializer.run(:install_gem_spec_stubs) + Rails::GemDependency.add_frozen_gem_path end end @@ -67,7 +68,7 @@ module Rails class << self def rubygems_version - Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion + Gem::RubyGemsVersion rescue nil end def gem_version @@ -81,15 +82,15 @@ module Rails end def load_rubygems + min_version = '1.3.6' require 'rubygems' - - unless rubygems_version >= '0.9.4' - $stderr.puts %(Rails requires RubyGems >= 0.9.4 (you have #{rubygems_version}). Please `gem update --system` and try again.) + unless rubygems_version >= min_version + $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.) exit 1 end rescue LoadError - $stderr.puts %(Rails requires RubyGems >= 0.9.4. Please install RubyGems and try again: http://rubygems.rubyforge.org) + $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org) exit 1 end @@ -99,11 +100,25 @@ module Rails private def read_environment_rb - File.read("#{RAILS_ROOT}/config/environment.rb") + File.read(File.join(RAILS_ROOT, 'config', 'environment.rb')) end end end end +class Rails::Boot + def run + load_initializer + + Rails::Initializer.class_eval do + def load_gems + @bundler_loaded ||= Bundler.require :default, Rails.env + end + end + + Rails::Initializer.run(:set_load_path) + end +end + # All that for this: Rails.boot! diff --git a/config/preinitializer.rb b/config/preinitializer.rb new file mode 100644 index 00000000..d67060aa --- /dev/null +++ b/config/preinitializer.rb @@ -0,0 +1,23 @@ +begin + require "rubygems" + vend = File.join(File.dirname(__FILE__), '..', 'vendor') + Gem.use_paths File.join(vend, 'bundle', File.basename(Gem.dir)), (Gem.path + [File.join(vend, 'plugins', 'bundler')]) + require "bundler" +rescue LoadError + raise "Could not load the bundler gem. Install it with `gem install bundler`." +end + +if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24") + raise RuntimeError, "Your bundler version is too old for Rails 2.3." + + "Run `gem install bundler` to upgrade." +end + +begin + # Set up load paths for all bundled gems + ENV["BUNDLE_GEMFILE"] = File.join(File.dirname(File.dirname(__FILE__)), 'Gemfile') + Bundler.setup +rescue Bundler::GemNotFound + raise RuntimeError, "Bundler couldn't find some gems." + + "Did you run `bundle install`?" +end + diff --git a/vendor/plugins/bundler/bin/bundle b/vendor/plugins/bundler/bin/bundle new file mode 100755 index 00000000..d6bad547 --- /dev/null +++ b/vendor/plugins/bundler/bin/bundle @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby +# +# This file was generated by RubyGems. +# +# The application 'bundler' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require 'rubygems' +Gem.use_paths File.join(File.dirname(File.dirname(__FILE__))), Gem.path +Gem.refresh + +version = ">= 0" + +if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then + version = $1 + ARGV.shift +end + +gem 'bundler', version +load Gem.bin_path('bundler', 'bundle', version) diff --git a/vendor/plugins/bundler/cache/bundler-1.0.0.gem b/vendor/plugins/bundler/cache/bundler-1.0.0.gem new file mode 100644 index 0000000000000000000000000000000000000000..dab490fcfd90504ad8898fb1a721b4edccc520e1 GIT binary patch literal 97792 zcmd42Ly#^^6eU=;ZQHh8uWa*`ZGL6GvTfV8ZQHhu{(B}SqNg{r>WDd;o0%sPcaymH zq=}J>5rd176N9-I(Elkg{Ra*=vT$%RbF%+GZT~mV%*x8f3`E5Ae`-Ph z>$tAY|9Su4^zIg>rZ)d8@xPV-zxe;lwg1Jr|E>G~U#oAZw@5iLtC-f_#?u9G9cx4XWxl@;=88ZsP4 zY2Ba0ov2qg7hYLBt`}XizRcY{y=gI&@4p{m-&_8^>r=g>kA?5B07Kap zgBj~ZPmb|M8qUYBHooyeZZ#`q(8mX;6ZSyQ+f$||HqKA;x~lW0G=hxQu=jdwVTHxv zDc^gyxd6w9a}W4mOvb|x3+1ZX>g&_6VYH0zDTUUS8^H~HqLZaNadz#apXjd!*4$L* z#_z=OZ}T8==CN~60j`-!8eSXE_T1>5Ye zY=O1+_vOJEf|+k0r9nxiY%e8v$z!h8#EtBgxnpDX($E0?-(GR0RiLzf{{Vk{TNJ#X zb&vPw)5$N{i0?~;d6{%WjSP9s`s4v2hJA-f5$>C&b!PSfmM@ zkM!tCQ<`j?ka=MT*Z2j%rU8^lEtDb3(wD}7;B?WeuI0oVY(PgIF=B9-uQK2P@$4r( z=HX_AdCCb2tg6C0NIE?_;009tP@i{ebH$h=v_4$K?W1I{axH+sXjH$hpmD$Dz8YjY((2AxU4QmH-Vx1go=`D$on@B+x3+ zlsPkYrg$>q$`NUhN^3ZCa5f(mg=g-r3&BHfw#lX=^DXYHbKGiS;SGlU1Co2|YiW#) z+lO~x^L0L|%|9E-58ka|C#A{M+E%okr)do1N&N?2pyZ5Nyrh_R2;GtWzNnanbK-y+ z=kBcK)p$!X1ZBp4d^8f8m$?42_fI8(%6Qff!*9Nk2QC zvEn?K#?LsQtM+VF#w!&fP@kS3jw`i(I_SEc9UugRxp1DV_!lZ>nf1=68u3PyEUPEv zy$sRjv%f>PXlWL#ya;d)N*rP90~bd6ZmN)d(xJ4?yr4{7FT`16p5_YfkB6~se8yLL zGHY3nF@vXHG@Ap*#ov5z)`{L6XqHB82g=3&biE^c@Sc@%j#Kj6oP_m=X zAV@s!s`nd^cyZpkoR@Q?K0&hen5aMNt1srC&~Lrc_nz2-?^-jzKCgq*I;|u>x1F22 zyFU}ZKK}@j7BCkt%DBp=86D~%-#@W+AH;Y&FN6A@QTtw;dUiMm_Zd5hToJtW#X^I? zjeYMv$#tU~F*P*6$8ivn|`1X(*4o8qIH{Mj7ki!#}jtq9Ddt(&u#xoih`$Im$ENlGsDFSo-DNUYy2_J%!9h>hun zLA={#KkjRunTegbXh>YR%M<6VtP>UZ?>%rP(p$|`v~I%yNq+Y`2Y`^{UdeU5(8`vx z!OSFzXEDUTGoXL|Dfn`PTat6nN^T&sgI#=FZH49mh*A0Q1qPfy5uCRpj(WMaK_${+a3Wvh>qz5<-M!1libRdi6tgVI(K&3; z4RUze@ki^z6Co^@gLpH@4dy~DA&9|)q{fBGA_@Tw1;OB7>H-y$@7T45%JPU|@^P-p zbWpru6&l?46|cuWh*JjlNT!F(0yBJSg|$Xz*v9y?t^>q__7iZW+LV3|Sirhh;&6wZ1_xplSw zN)8pp`iBO*vhJXbN z#B2PdR;vMb=Ma|VV|}8(qG*^v^uNr>j+w3H6jPml^%{C)?OX5ONl^17o@Zbch8bY| zGCBU3mr0P|cTGx=X#gU)CkHM~78FBft}VG_uT@bAGnD@5!zM*7{d@_zNqZ8XmYzSq z`Eu2dYXPzM3|X4&`y)dStk8M+fbdrOy!ic0ur6}fFUf9tfpVN_J(6=%&z+V!YSnLF zl0Ag^218Dse^EI$MW{Vj*^#CiG+&izf@+OaD`nMnqj6;irrG7Qp(B4B9wf{n`BDml z9KWpRbOxKJ__M}a1j*4Dm|b;7b(5>54Q{?`y@He=Ge(5lRl%1zh)09tstf`iIO*u3 zD(kEqnc&vI=kPQ_l$dEvV`3S#&R@4ctH@>**~lkk)_U6%%t}P>@n;_dEBY=jTq*p? zCVV`ZJkw^gzuq2>ZeKvi6bp4B$XI{*q^*o*ON*>E1QhM%cqw72)TO083k3y+t~8h> z5saVDB^7dt824}pw<(T8rz6i>2Tljkoq+V94?L%YWhmKx9Lk$NUwvPt5*xV@{}-q& zlz_Mee>z}1&JZX`NQi4FS@Sz+ZNczIVd4XGr+;_tA$;OYdY?_0n&pL4^`FjDt%xc? ze1uX`6G9Mg`Hpx@+;xa3YmgC@q?i-@X#{}@qb&bC$qiYh)~Qlhlyg@i;_ zO1aB|p&9BOT-4lYEn2Q-s&aDR*U}69-U+T!V6M%* zAWo2DU0PjMQ7F+j{w5y<4+4nC1t@GE%9Dn#(;-|Dn{(FORE>x>dNv=_ z$~fy`eXFYsp+pA)DC&fZsL<4qv%ni+bI;lU#c0d@350U4XqxDpN2e|#)29%lJu3Iz zsWhjtG%?b)5pP((*va3yw+Si0zh|%>cnuokF!f9eHjMz5L=BO}~TuQ#Gou5m3-DkwJIf*3Sf0)1KNRc4-2Rna1E-EEE~une+Vj zMWcPk3}W!T?m*gE<IJGwT<>18_q6dm^OrGX>2Ukqu5<>_z;mE^E^z_apY63h%eIi%n2Cl7NKBMc3k*B{ zrnAXv2@EG?lX@c2iL;Nhuj>0mz2>U#MhV85KeuFN8OQHB4{!t5r>A3JH5UZ%00)&g zYcPk>i>g9ccx25tNUg(2;n=(s6XH~1WJJkFTvxFYa%frqS@|aHuJju1Ervq(+!a*V zWSqr44G|8B%%2KhqX~NNz~6TL)K$mfdnhVRRdSlOkxGaXSuv>*VCLuMB;HmJ?Nwp2D%RR3)h?84S z5`njc#+X~S7L3vGHEXe~aZcco+-0U9P3d!2maaqiH(pwRZX2)*h=$IEd;H5h2=27b zf%RbElWU5!ms}ZZ+rMS|Er&mX*N`F#swi3&T>)@82Ai{57Vh>Xo&q&ldZ@t<<*UqW zjuDI`#!P&^p_mGvl5W#0_zWR?w7mI^4DQ1dBOfnMvLPKB8M%R3`#n!0F&|q3*0&;K z=ZarvaYWq!Qyt}Du?cAtw< z%xG~hfp{dw=uN8ulkQx?$e2}S*9E_RQ_WM2eWIUnV*YYmx@$>$jYk}!$h8j1qn-)p zL6kow!=pqKW^XQY=@bv*-BPY?#`c;X%k4`#A;lVFgxSiT z(bbpk`7PJMl|q41>%M-@yIkSoG`iv$9GK;{%J?QWHQ_f^k2j&R!{?|I`_PWS)843R z6DAz>J60Ze56R-~T*6XryBpbXn&YKWE@!~tWfMUd!d&gF6pOIvt>TbY582l~sT8PF zwA#eF8y3FEmL_D-#%tdOg<|POT%H(KnKk5V@iGpwk*|_f8YXSzt7BWXtj;9y%G^K4 zI5DEcO9REiJgX^)@Mk6}Xy&4+xCzst3WrhTs71Zo3(yc46a<`4EY=kl#lfB+dMaon z!N*^kYQ?u7K^Q>uKIvOra?GPJgm7;6^LAQ>8DE-W5zZ6V!_dj$B9#J2>38z|rdRLf z8OJdP@#qv0k$8aFmAWER8ylxe=twK*wce2F-WdDF=?^G*scjE!3%AVJk6YSo@CSRD zkTKb(1%pE=5g1sUJ!}Y*End}es>hlkyPtp;n~%#G^<$fkEta`xC=T<6`wsJ2?AgQD zNR6pPx4prVsp+sgh48`}vj)!#8#D3->=$9dU-VKwtR}RX{S>*~5}VA`EQpMk(~;ns z@ouVZg;_+Jic*VJB2&dwPx>|U$IPc?#+#WS__jQ|!Y(}>gBRV7h%9C5F*xI6sy9eT zS=Z47bw$!0fk>L8h|ns<-1ABTrtigRh-brv{NwCy2PwmOn{Wzro5*^A9k`eYO$s+I zO)dGg)9}2q#e2$$&F{iY2#H* zUP;Q{ve&I}b}j9W5Shv*Jo$rPY-Y?lo4H?=W|G}5E#a&;s<+=hjg%0(pF73X7k&xM zSzTC%@h|52L;P>RZrF^OF19FnEbX1Flc1=`;vPuh(iWClwzrxW#$Q=d7@Q#bdr7Ml zWz)(SsWSdb+19q~Kvp}!J2OyPaLDucjL7oZ^v9ClF1WNHel!ubpQJOl#g$h}aw+-5-trR=GG)Yqq% z|5hpR++U00U)E-Gz7pX;!VB6e`-4rcn7&9Y-ddm;z|h*pyDp{+FVcbQ6%sacxH>gi zikM@Ey+L|X;6QBw!7|h!lXt%yr6BPA68VpV2@mXRAl`_r zM>)J*|GyYIEqI%rbXR>o*3x&tKUQd&ic%@BT$!S%ff5e|M+^a%5E9N2?h70nA;~I2 zpo`YD^{{;2Eq1KA-{P->&RyeCHzZLIDzFMOwRF)K?zp)mTfjMgky{?!f$xvZb+E%D{&^<^iYtLVlCgEzUEhCRh^J`9q=&Ye z9!}6*9R(CtvEJa@-}q9E&+~NeXuJqZ6WNes+6ogsMDZCGX7oBGI2Sh7W+e3fQF#yI^mWKn`XI}#}hv$I~9eGYM(q8^vvnS%*j2Eo(f{LlE zVI%_@yh!iAXr&UN{2BlbLEHV7?I!=qlhBJNXS1Mv*#R}(GSA66BKDQ%^|*d^ zu%pX~%A8zyt6KqxZ88&d3skoG0O)&z^5!BikfM}lV*$0M(MW}c!T3On^PBy3FYjy6 zaY}o}?f~D=Yos0^fOM3z{vg;U8C$ZqgG^gcvKsC2#WjQ*qi0{=#xR)Crn}*_=427C zauSt2iPODU0Rzx67VHINvZ2GtrL&R;5?W9cdOd|MpaSe-EM!mm(FmcT$_+GUuFp{J z%VxPiEX03khvM3ygNmQJ4@Jw;0L79B*p;>GB_NE~K9}@_5S9W8QGF%`pX%(U$+vOC zd*k?BXshQ1SRY)dcAh9QBOj056uRxO#-g{$0W>A3JHYvFGA>_8YPHpTiJVar89#_v z{A7RTuL*w6z-<)-O8!73jd~ktbb|4p?mD@8>3|-Ss4a?;AjKKQ*)U#2Hv<8mo}N{6 z!tz}=gRYL(v2V-W8+az-$*@=l#o80lwh}2(_}++)k1bSkf>B|qkd=X*xlU(pvVygI zX_~D10G7=L;%TX6h?FgNVT`gO-Pii`O9r*zCokY*rPjv=vbzu%{R90ePB`QTWjNtA zE%aBgH-v;H&+ohUMUB~)FNmP3`p+-(v+fEm0c8)GeMw+fPQ{mrWZLYf1klU)DNksja1c1)yQrYT zFRRnbkP{5FJ z752X6yqb-r_AZwuVzNAAi0iPm+ddw^8FHpRKp!eiI@hJM z*pg6#y&6;#K%j6!mN6BX1(!-ji$qy?1$(}4S~!OIx_H85zygVK3HXuENN9xd_)@yi z>_ei}ig*51TtI0aJ*-!#A|QHwt>W=HATW^&Vr-gxEF)*8(5Dgtg@ z^@T0_5fL9GO_PtSXuR*99;cSosU*mM#7h4+XCKKlm&3*97Y@AxFVrqcWU7EgsC#O! z)job5lz5ed+)#kYZX?g3Pz_^mSQ$TpR<&yB7pJ)Qd=|_45k3g&YccouQmd_$I7Z`>LA2|D3298kuYFo6oe3dMzQ#Yr14CKVWgD}Qe6Slca7RPx+$Lv*2 z)bT&|cMUVnO?|%jJ>H(-a(d7z7Zw~q5`oJhK+xSF%+E{C2l!LoSAL4WgSop3z@*k1 zcVm*xXG~M$SN{=NmNI-wX~xZJJ3CQW72xxHKAV5n@%)^|Z|t_UW1}R5ZC=n%NFd9C z*DQPSh1its%;uWb_ZLdJ+Pn?P={U&7^6-|4d4TR>^)w)wI4{3Cz8l4aezp9UKf(A?cE z_vdUR~7ihysjnnCF2T{V?WK`)O~<@6RQ((k*RwBMl`SO zDQs3q$^sro-X)Nc8YwDWU8HPIZJTlFW@tXKlbi%7O!u6Lo^Vre@lm2S*DaJw7!Se)qB?Y`gMv!f#*x~vvS?0$Zgfm_6*%X1&8;5}Z1-kfUb zgfK)!9NYZ=tT%7gU3=`_cz`KnGfgFRXr z1YnW0dT()Q0qfbmQk}@;HdMcn$r+mtvifT5%DU^3#mqXZ*V7)oRU|HdVUBaJv2o;b zfacEvk4q~=>eOVZw+Uo`8C#cCo}O;H!PhCU=aCzzGSC~>K~9W|{L8{Bo_OkP#5Bue zohj&rZ{6ea6Wn`>+78QN-b|;zYvVy~wjWAcy*yXhFR2O*^1X%%p(VmVDs*VR#yJ5! ziU=(F?Jry6fX^Bm7X?a6o`h(kgK!tQ#EWe?&_`j%37=m3O|T zQ^o`fmAo%)BAhl48L`Uxp_ph zi&W)Z`zHvC3F$H?nu)dInkOhAGJ`I+tczI=@l#SdwF`olPUQU+2%yd&(uK?7cQ>4c zghZXP;>4#b8TRAg6=l1zB9@Tm6B=`A%Ch(y&nh)0xp^Z)?p!SpqV9RG!M2+)$pU~V zxHQsQ%mrO-n1)?G?Kdk|EAD&g^kB+sTC$6fd6}-s$aGMKW|T5^$T^)yADIh^wbFYX z`FqXnE*3%aO7J))=m9>@9P>5t^o2vsX$M_U&at%HV`$agd(@ z`GXTGoIqk=Ow3N~%nRiIM{#ah9ikgQ;eu}s?iz;vnnysTV?gZlVZG3s(a-ba>mK&l zCMTiZY>1}M$)UU=;(Bz%0Rq)In-PDhw@HEEif_~N!SHnadmEoWu`miB2AviI33;~V z4W1|hWw7V^qQNjVpo`0*mV&-~(&SzZ&RtN=GLHmI1c(jMQ9v9sJzs&qtZ@}FezWdq zGJy}~ttM+=+$kOXp>pTV-j%GTt$_`Y&4Qsw|ht`Q6?g1BJqN0W%W1;qkPTl6J)0M5{5Q4#ZOK0GgnDl}}1k|T?B+fh} zOV(- zD6wGW0>h9#J7T#JLW}84loi2KbC{y>9Qtlo;L{HGj(QKofu8F{wQe1t(D4|PlerBF zYH06Pg>v`FmeNON6Gm7sJnr(m7*J{T zAO3W<{z^YF0w zLcM7t^il|%1B*R-)_*6(P3%b%Z{!U*DlpfF+?>;I`At<-0@U6Kw(}q0HJvc&9hYq? zZILc$x-!uGQmQ%@3ZO`|fKHdFszp+y6sm@LFWixu5gJjjx;wfSw-Z*AK--Ln@3+bU zIAC<-=q}Y6et$dmhaXD!7S5Wfyu)e8o_K$ZCVws=a2!)AC~DGA@j_uGvzJwFOe_-H zI4w_a&CmL4K{sM#<~_XU7WON6N8B|ht)=Zq+uy;CG=8W(RKrz-jk-Y862+fR1V>jQ`rMCS za_|G4eCNWt(kU$GO}wE_Qtt`KQUy*yjIc`EKGy~bwPSPP>(p4r5rDw*b=8rRB%qM% zDbkj=e)w-oKzrA!5#Pv1Po@X{~-sxIk8@3eza54npc3`)u zFikQOh*;oS`MoiWwD2AQ2Vx)%|l$No$Pb<}FmKuRrsYIo6nZR7jZv=h(GQnlC zsHR)wE71{3X<4h}Jwr?FhNV(7S1eb5w`iL{@jT*p zYd-8U(U1)KWR*g{7HVp; z;6ogJeI(6hxoTU9uP|rkKO4d;m7rl87eb2_vWmto9z zitw(uLgMGG{y68dm~KS6GCN!Bfm~}-drqShx*;u|>7nLl#j^mcq4*SHd$;n9+$@O% z6LF($Mq%>=B77-et-Ow{OYn|e97_}5Zs6Oki{X#3GVVG6rzH=qL;HEU_eMb%0CGGAo5_3fP_yyKlp!R=JIMGaYd1d?zk2Iv+{cS`R}!JOZp45J=}%9TURRUNkfBRg@MP`zltFxwNCf<_3WFDDtA5Z zoG?QuNVjXt?i~YuPuDPAB=N1c-tI9`U$J?ehC@$A=>I9>0?<}3D^{cOr8vp2jy^n3 z@e*1Zk!8fJVhqh(dU2d}-*m5t_LaFoL(rK}RXs=m1dTwcJJqhRavdNRbA#`Sw-y_? zhR|XWEz~G<0=%Zyf}xRak%)jbsGQSIw3rDo`6!=uNXHMri1vO_dIOH?1MQ-edq$N_Fryn5PlY@VhnqKCLd~rQ>@?d zZklH6HijzR7UykT6Z=PCAn zE5}bwzmCnhe|z5tqc<~=e}A{H3GIB2e|v`%f&x~r{AfS*<-UCWEeJ?ZFftMTi*CZ0 zddiC$)C2u_Fb|t5(j$q7%#$=mc0`cmZPCz^1@0U5`xNt z9R6yagMY7bH|As4n}HA$NSNJcMNMAVL%8_)h~4`l^FqEak|PlWmIo z*GjfasJPh=#`;Yu=-pTwb2NWb%=>csVs!x;B0jF?$B=mCCEf?r*M_k*`HYjGaq= zc$SPTO;*Zpw!iOSx8W|`xZIr!1^KwXlPzOK?7n-Ba+8vyh(W%1<7DLrkA&ahI+?;t z8LUI0acX0V^v>7@PjZg*jHzr5AtqeZY-9MAFpZ~6%#aOs0fhkX4r4MFQc*t=W3%78 zKY=4wcAj|vF0pGl%^-`ExGNBKZYe+f6pj0e9`e02yXhnrZ+8G{gu?*ZBJ=^=w*aj< z(Lfs#gZ0``3K?2syWwoD@;u^rpxo0U28H@;V8rzYH$bkJ?KJ9)#&m?N(cHAy6?SSL z4fXFH{(*K8I)yxXLQ_c9TZu!0#+5QIS615`thZZI{Iomr+q2$wOl&HTRup9){u<19 z!Wl|+5{772BqBFL76xfK+Ww&O6~{$dV}C@(2wTEqt%RRFucwABZGFZgfhS_snfAL_ zi4PH|RRTz!dy=$QEr4WA;+Q$&?FeN*-&{^S$;4%NqDz!#JyC;R)rFMHVP>!L6R+ADpQfo}0epw}8{RFN0oI_f zc{XELv?lytFUYE^)YC>-&q$Z?X<3cA&T94u04Vp39g^9V4NqlpY<%k5Y8Gz*Q9LYm&)3l;!^gH0A1~@pEX2Q}JImVD$kAhB)Kps~ zcg)9wg+z>DRSPha2G(Ws{^JrIl{KPzHUf0ws9$HtSCcHH-E{%%j4iHn=O% zv?!FpSn6>fZp5?sd|KA@tA!JFqzYlo*k^VaGpD9WWC71NJ59JezbS_)>Ks&j; zo(QB}0L>*#5t%-Ufj@7r2NoXjNd^>r3&^hjG8Bgzf4BH_EVW^2+5BbCA5L z-p5Wc_3aJAbaWqtylR+B@H2&RVEd>A7q~xyK_?>~%Nnyq8^~DtUMN zVuqJ+5Hx<)VDkBX&)_^yNe9zz8J-7jhAbvgRrdWQS6p#}b1Y}E*KS$wOQ4|(IRux} zrbgj^JzY<_Q0@y!#_w2QUN+8co=dijGmnV5I}EN*X&g6}C$9~pC^KUfq`uB5P#aSr zW=tp~Ljj1FU+)IoH8lT}x=SQ%{8hET`qb>31?~ zg0&N>={iOI))WIV5w?|d7OP=OmHqQMl%vBF;IThXoy1VQeu>Z}hDIrEFbc_>?pyI4lA+&X+uhx9Mv@B9y8g~N&YGpN@7Z})q)pZRyM{r1nr@3*+G zHXolG9}N;clx}7DOGGDJ(j{Zh8E&oh!vl6#pAe5h({YWx_&HMcWhki#Wy?tx`;d9# zdR(MtViuLDy-1O3PvgsH|5sbiY5P*@v7~NvrDt^r`py!ZEl5=!M3!=mLqXSR`|RWF zMts0}^(t*eOqBATg>oMn_n0nx#R5qM@%Lj2QWjBc1;ci{1+q4uwt$Ug4h)lu0lPls zx1fg0!Uo-$EM>6+`IH_V6pYM%=Z5VpVkp?ly!?r) zs_{ZE*?|=o^GqPz(+-%vonqyzu-$HQ!B$Vu&*xjPBgp>tX{RjAr_r)lk&^+^3FFas z;;_n`5@jKBZ$}h_+l2OL#aDt{({>JU!Er>+c~M#XbooDxr7Lt~ z)#JM(bFx!sQBMhMaz(FnI{(9)<1_mFGo)WBipgpq{3tLLRc6N>8u1g%u$yj7ri+q&loN0-Ckta)Q*;qD7yi2((p4#}X-~R4i@_a}HkKP6S>78^iUB7p zz@{tSoTd`<-xx#~6^Rm(Ln$H#c&r4iKu9|oYMYnV^o@Y0K-jgR% zZ+G{5q<^27c{tq>y-s@wq^^n!`=PQxE+oQe2{K(9>w!O&t7{>EE7qBD5zTZ&68`0q zW8fpsKf_$Ox?iOd5H1pD;>g?o1#N5S>Uk07aV*_l2R$Srf(x3CSuiT2m&oxr}e9F^Qa+^D+=M9_&mF(RW zE+yy8dv23Rps0~q3Gx)w7`i24EH zTA>%#6$F(WeYIBgOA)q1nDczbaYHBEo7!Zg8iwhItuDFFU75D%)6{w6X#0MmsND9o z+|;wDXx2r+2Sm3_jOyzo^@$9(X;*StX>?}NF_LQLRtv-IWJOH(8v9T0=inl)iE_JLa8FEU8BpJuSX1o9fG%t)qlDpzPto?DJjB#US7pqSr80HV$d8 zFrYIa-8H&p*{8hgVLIjMH}T1xpw*Z%sdD=+ZZ28)FUGQiQh8T80$OdRj=w5CNXX?gGC`l|^wC)=mYZCdJ_kOby|4YuFtenn z*g2;*D9-S?c9OpQb3NUYdd-Hn4RZ zQT)8z)6|Zb`}4Obc1*$3uI9L`cDGx?MoxF7qea7ES(`UK-AfeC6QmZ94UWfk`LgWI<0}ugR{F_m^Jdd1t62Co(q4FNnU`hdnt+2Uz4}`luh(!;{Zz1 zKxT1ODbIC4lJz^}A5Gk-DrWD#*lYVAnze|I)hSC3Pje>5^Zod7CRO@OELGfu4g^kc zL>XM;Hyn36ES5-HPUhjs4$MDYaYS}&&O-31bZm}tOzY^Ox;f)LA&A?Ki)ubee}^)v zi!7cOu=Y_V5M5AIWc`vJXXWK=xb*RzRwbXp{-kvhn6mRD1O?*96jiq;V35KoZ!R1v zKH9KNRKm<$q;!-0c*8!We$77!Vy^!jJp5iyOZ;fW{q}zN0pfEp-u+fRbN|uoUddwi ztrcPlp>avI&~W>U$DK+b0L8PJ-Vx?5f-9ozL z^LnHD{HF65dS>z{+W*0RhY2OEC<5I|3wX@HX)lUx!`Y4O4IAi5z`%XK$^#?eO)tAD z>PhWEPQ}dKUb=~!qByac%3b3hVITpm@#e}rHO{v^&GNzRbUcfz6%-d|DSaMQ%_0oO zUi!+u8M?j~ZtqJ&dS8h&`)bdHhZu;Pj5tId7Fg8;EvbM$J$XmKlT9cxcrL8UDl$fH zgViv`h{Wuwxf)HQ+zBCz9|}wnWjm?K?ZYVEKsdSMktyKx#tQnOHmfEK(PEgp+f50Wk;Tu+s7+m_ zA}PKS3Qak?0u#bcyKXWdCZcU@YyZS@#>smV)hm@zqxOwr#H+o7cWBFfFo6}~<;?7^ z2(zRpx^EH5@Nk&A%4#pM7$UVluWkkmIujwpi^0!!O{j2PT*^sm{JYkU*u~LmBQoKQ zU^wT0e$Ztbs&})x1}_m5DHFsk{{b`JUW-4h3I#mYG`< z%xwSuXnded`dwSSX6^i~t@^$Hu3r23{EnWkec5GvID|`l2N<+JP*w!M;d?cGzTIw6 zoQz69XT>i*YYCd~j>F@gD&-DV&i4i)$ z;}ZoVxYJGANqr%Z_Z4RGD6Dz>&_P7>r)9BR3ecG#WvsX=CBUoG z!&biCT1Va@Q#2d2)!=RNyjmOB;j$#ZEZlyA7 z4^F)dn#|wC%y*C){PGdd zUdke_)W6d3JSDU7CyuLXAuNe@c*}N zHsXJO`2L5@ul)a)_^}*6Wfpb(f5-9v6gNkgS3d8w^8F3-0^zbX9X&>sh*glZTVkCa zBDTo}8q&xpt8))8FGOd1>HB0(iq*UuR;Easq3yfK7#)`9NEP6)A4a;~s3ORAoUAY~ z*tDcZK3Gg9Lp9mrz-Se7q9Pzh#5gSu6=e_dR0A2jYlAuOhG7ele@3z;{BAoxUm7zP z)@f}Vf3wZ>evu^^n# zR{4qmx%?{)QQd*JiU$q&$ouT&~vdt#gbD{Ym(7aM4ge4`*Te8035NOMML@@s6xZC`<`w93z(ZK)< zJg+{Z7I>Ba&kr}_`fopM-v0h8|Mw++9LHDH^J^$3f@?hu5{oS1xUea{qZ7UEdhfT`!==yNET+v|Q0SMv^B(TL>`;YhS4dCQG3dKiJC9ph*_TKFka`LbbJ>vEMFsA!D+xUI&PrWVE9emsS=6c~eA)gNz@|&BD zN4D6m{0%sUPdbfu?4lMlq(>dEGkcex;TW518vXBb*75vIEAsq9W9wJ@N4<1ISU(Nj zhTB1(QA>}|`WwL*bjZ;7(vVA@+!-Reb6JGcdz#DeB*8Ru>f04r{s?P&1N6= z7ykF1-@DjR+9o0BcU%E<5(j|H7c+CN@-heh{w7%*Gr?~MJ1;Y1*^DKQtJ|)m=(^fE z$;ourW^CeGWaQ4Zq!t-XZQye-d*!gzx$7vGYgDtxdYHKc5AUYsDV!j&CD=G98tHl@ z(Q_~G4VJ?ZTLjS-Yl=t|0h|F#j$){}2M6d~9`t0BQ5BULQC6ifIVp|}`(e7>!vt9J zC~-mfOp~vqN{{`{Rnp*5xX=#<#<&;B?mQ0YtlTcy){<1+Kz9Db8M^JJTU|ZX4@^?= zFrrC)V>K^<&ZW`HWB50ls*R5P2-Nx^H^4Cx%hVAqB%*O>zl#rT+kusX+E7G%bF*2m z9^2kBcM`r^-`v7-TL~RR;=19p)sXvA_0VE(u&5h<*3uV|tDG)yKdNVYVUz?uY_?oppC}`1`R_QJ z%I}|7##rV5bMyACIR4|iTVMTuzR1tuO~+XirEb#mayq?!a%1qr;MN+xmO6#HhFV=7 zXJ_xq>vL?1`IWCr^R>atUrmSo2Rf#+3IDsdI7IvY%^RCH;4l1tZ1w`0AvNf%y*c=q zk?zgGbMt0{5(cVjj^=ST%?`N)lzjK%Z%>{+d$Ic>`u6pkjW-+9^34XNpx86_pFVzk z@5ux6`rh-0FZS%m4|ZPMf4)m`>76xOcj=hMpfW1ZWi|uq!nE_vdgxhz>v5|N={@$Ah2XZ38&7LBqM z^G@^qssK6f&B3k(ets-3-{215G_cT1R8{Jbjn4*Ay2ivDIGi{Pb#M1tt5M@fw{BLRmo-=oC9YDI9Jp`|e zw;@m83^v~kj_TtHE=Zi&e5ph0ay7=Hg-w_NaMc4!OO4$Gqf74TaBzMYjQxrpg-$J; z3$2(NvcJ1Jxm7sAEE~N8T#km2r@ zypIq7F7s(PBQ&H()4@ln^7?+9)JFh%IW&{e;7CYWQd%ei#h( zLMmADQOw5j;XZ}xD22QEV{+!<6=lbx4T z8UXCP0b1o>mUC)VU+xDJ)cMH-Lr;pTmXTi^frz8Bsc2uSBzGQiR*QmtTM(s`<&LlN2!Wse{Nm}OotJRwzC408DpCrl zSMK9h)g1CJHCug^n0=~1KgOPRpP9~^?*5`SDo3Z`x_KmOpUti>B z?GOL_vsdu-=a2lfoPT7{Kie3~&;RC)TR$}D|E=3Mzn=du@$(PV|Ge4Q`9C}NFRcY) z;gEGfUMv(=wMAU;VnU04$hb}qcBLy}FB>``N=t5sV<&LR74F#OzB$g`QI%&KuHqE~ zMXXHe-bOw)l;q&8NQ3waJ|UIYY+fGDv*XGtg?1{GLJCwH^-*aIVu(2vt{m&PPR`6x zc9LTN8%S#CWrcH^6z^#GIavenKi7}hsr$`fzE2Veu8TU$rnNP4C3GCEOY!wcpw&r{ znagTc`ZTieM2Z_rD?4XD&syH8%cy!YslLG9Pi_{XcC0nK)KcPt=9JGPHYU+k04@L-Z1B1A6_ zDyyPAEdblH1)e;sOdMH(&`FP`dwNu$dkR}OE5SCboQH9f*I`P~X^)Oi22!gav790m zTA|=WHbkvSkm<@^+&idYb{yr_TzH>$sF+@F-BT({Jw{B&I6t26C6EF4X6MOoyU(9K zdA#%FrFs1H!R{}+_wR|ivWXvXc5!)Tx;Wm4iNn%IN7?ky>DL$!j4CVG=kzxzQox8T z3MBv!I%D&^v}lV%8XsL()QDwN1<=gOsw#vm@W7}r)leYp!7TuwqLNgT!jtkHtLd7{ z?7AKKMxyxuU5A3!y?BPRg;>QMA}I{fXwh}_1ydB-4W>PEe`KR~iy5JrQ*&9h%~T(* zRbV=B`f#pXPKy;BtN^_bTzxET4(E<{r9w+`sFdyQQ(dWAfFZDWxbqm}l~SOQ#mT%Dd`t;dLS}z|r#wkDbfS$Kaoq|WJJa1^~{AFfUA9T=mfr?G4(j1p# zj{CJ9#zh6Ex;!;l@`}#*cubL?ncP>?vQ7`?wgSg+I&S!eP7XQpO05hyK;@f_ za)#TKk;;t{Ur4g3P}^BVOXDjDi@=blawc20we<+*OEI}b7Y^j4z-;6BQJk^eYM=-C z!91^yWRKMB`lh1jU8T*WBzJTJOir`2%5YpayH@d;k$rcwoXztS)Tj~YysHJ5+nVIe z3pl;FA{_CopPuCNxfnWV-ZtD!CLUbG5yXV$kWuxKJT2$%;*l^fV;oHDt{xbPMn~*$ zRYF5-L#m2s4(H^BdG_el!(Ak%_iF3qLL|{4pqWh;hcJpvPWGNnL2Ob$6FVI%8&@>s zPwX8aHYl8t)S^GYi!qy?F^8m8yR=hiW1~|>#Vp*2Y6N#n7-Hxo7O4tA=R0=W$7|@D zG@Y}gjd4R!K4-}zbc+B}(NPzQYO?u$QP0tmSpW5y`{JMBVESHKq2b2m2!tXQ8+W@U?7uGCDg>r#P!d4vj`W|S^d>A+q z9o1=*VkBC5?YdP=<4N{qhfOujX22xZjkXCZqgpe8^$1wLd|LIrNg26~Dm&ZqC;dD8 zb$YP2_BYz-liU?yvalZ;4`AR)zk4(I9y+Xp8Lzp+7q`6yXmr0Mu4NvOR%TLY#s@|7 zo}2O#s-j*<_CiFeY;s%zm`C{>HxCYp6<_AI>@wOHV5rHNRHF3279>N)nO<1pV|J$^ z{7!f;fxkW~=an$TK#uJJ?iMnu5mgRrolu+ejcmez9~Ce$7pXBADq`z~LxW zch!Bfo+8)ly-v%{-K#BXpW(e&)uEur`-Jn~7j_fjQw6kzoa_Bkn9kCvRiEpn5=;p{ z=K1u^dM$|7<=p{{P=APvr3~_DK~JA#VNI%uq<9N$M*md;VWJ>$2=t~G;D8LuK~ohZ;0SYr+C4w zR?xvxHf(opO&8G7$u`Q9!6vDk`ZTtiombHxn?Jm&IfjCI& z0~jsR$Za@%oc$1ZA^h?Rf{!3&ppn&0T_KGe<|yzuXf$}}sRL{hQdTv`%vGeEv)Va0 z7|Odtx=X0(w2rQ4^vzD#jK_!rEX4iWTAF0NMCSKEuDu*3I8M26Dx2SElp7as)>@WT}vmEN2sq|Vf<;;(dmVX zb}m-U^@2$OPsY^Eq0beK6TN>91TipIGd+V zE8s%yTew=(yG1%Tgs|1NB~)#)Q$(kcP;b!Se@N%H=BBhn+oosz397aL;;d)0(`l;M zR%+OI(HGRSg-SNou!(|A&q}mw(AsL&!Wk{ms$F5N8cj+xYpk$gigU&3*7%-Vp1yT}ZEXMUB_ct?4l?pjZp_YVZ>)(i|zSjn}6!d2>1tt5UOS1h3-a z+d!$+Y&iDr4C{E2$B zE2KwriZpjATw0&zXM!3vrBbtqWc5*l+YM!!(}QR&n(gk=$~2-vT8)NZyZe{Z5?PJf zMOA9y{4*ay*VLzZK&)1$`LCBK(iB_gKj`)Orn|H*&4cxmRBBi7h*9GP8%>(EVD+mM zYw&~g<6_#h!FMTL8eQ25eHygBwM>~d&^Omq@ZgVW&}?@XP^7i%(Ja^ML$T!~Ur8v` zJXWq$r3I&HrAE!~;^)z+$wreR&Fj&$8cl1_VkH`oP*kD$4f{-LGreJ-ratr9GiYMF zYiiJXgl(uNfVq3Oo~GX5pRL>Y`m_3{MgJ#z{&~h&uK&Arb91wi|L4Zn{EuJe=O60- zC%T!-y8v2GDE0!>fp|egT%ZdJF485QfU0kb7^O_xd;B}xym>9ZOJ>?_kyhm?vm$#5 zyNc02)E4GCDbG+&k&h*ZJpX|V`Cj5HtCD%W{b2X`&i$89pZ{%7J`p}|`{DDaubyqb zHuUe!Hv{~?y}hJWrs3YWB&xB=II$s^?&*S6Dx3&{N@L=+p;UwRn&{G>a#pypU6-{>v}!Vhc-7eaVDTwd6!%$4`ulu>vLog}R@^@eWhw zt6^9min_7ku_5=?h-1$7ol^mSf!r#li8cERIYC1wE@lJ1Q}m2kQ!jWcj|uW0(U(-7O%$R)Tu2`{O(l z4!Muqzl_$mbF$L96}~g0mPZlnqV;465rb+MGhB?QRhE|50( z9#Fn)1n0iWXBjgZR`QZ^+^AQ7SIks-4d=IY32@L&P7&B8(H^VazUvcjQwXBnetfw4107^Yq^6q^Tvsl+EBo&E^G>A<5qY>zA}VgsEIu zL;Q-GGa^DpsIz}I!~BaR`H_KGXNg#XKazh>?Ey3t{GG`%QA~W2b>Rn}>4{|qR z6Kd#MDP0BnZRvO!b&c_f#*7R3{Df{_Shw&_@Va$zRwwE}w>u4xr~N}_XJ~D2HsIde zAg+tH(b{c~vvHo3D=hGC5%3-&c7*van1Tqk^`Q_**CinXC-94|v=-p9CpiEIIxKQl zdsau;Tp5Ne!Zq@8(1NI{sea4?2tVeWB^60SVsnwJxdo;L@V}BzrLtE>aXc&MHL7G~ zY0TzXgCgrlspviTWDS9OsvwmUgoxdrVHOfjvZ1&tVRF%P}nQpOQ>u4v-SelvPCTyk7v!yjqOOXB)W< zkU8iuNChrrpk`;9xpc{h8Z4zaqT@A4Jp=Yo_IMyjeWywY97;UbM|j0U@Qf#Cv1`6| zkF{A!aNTst$tp~PIx2Q@KObcas#<=6@{>Knbv~>^qkp#}>ut0~aSy^Es9OhKq0EAXR z7GJ;tc$c5WK_Ji8o?18P`e>eul|~dmr-%{=e0T=b%X&QpFyg?p5lBAB271Q@Boz1; z8?hy-3J>7$6$s{bw{X;AKJJ4^cZyrpr`wU@BjQn9p*M2-P=_B@kK1RxaT1&6!WcCT zYYk6TD3R!k1?NZ{f9KDbKUnB^fw(9-D|Cb4^$3X3eFQPm^NpfP-F@gWSprX`q*6-% z7fRS(tH+~|Ka>z<{4a`Ga01W?gFi>8QU{d4j#=|#zFFJVVno_)YO5qS<#}Gx>14GA zu--VzGVDZeytt-J10`vp=~fF=Z6ZWLiXAUTH76%V&Y;Ij!|RH9JP!|CP8jQO7MsF7 z^RM{+>@dTb+ErkbreI2mQ>KH7^l}5BQvj3~u(=>5Dv5zz*>S|Y;4q-jmIEJ*m| zSax))aItEz3w7jSqI8l#<#1n7&UnvNujsxf=?AaulKEi23(AX0bjB2uPr#-7Y#+IW z1$sPygjT=VI4H}S$(`>cl(OQv@8>vUCrBlSelw7Jh-1fGaxs_(+<9|x9~fEB10qi) zdc0xR9tBfjMdBLP5&Kb~;^?fcAue~|GRj~S{1eg9Y$=2rmuqaz?x3R(tPDtGU6vr8 zZ$K*?c;2Cux69**m|H^5fX5=fl1`T(|CzR=KZl_xdgP~V3}d=sqkJd14FF6|ByTSU8q11J@?NR<5TjcTDw8Zf2;dwy z^oB677O^AJFGt-|ei8{Of)mRUkYcH#jEPnaq5=wu+Aj#x#ZVEffW1$h3fkVP>`%%R zri~7WU?P`=Z)Im`S3E8$q_`CKFy?;3PvEYgPMgZE1Vs%9G6%?HQM`meTp@?My$dw zlkA*umn?P|TtWuNil`GyPVC`9C5DT+ognQ?EivrgLAEb!{TWb$ zc`i#6jg&u~xi!|PkWRIm@aNVt&HTOEZkyn_`Zll`iQ|?%m2S^7!eUmXBd1P!B&QNj zsYh{>@f4FCwP}nadqKGIt!NlZ69 ziDJ6Yb$l*1Ut!$6n_dgfJDXXXr2~NxB;65fG8267>&zVa1tJXUh}Km%r{9n`>q8=;{4` z@2p^dnkkP^eN+gw$G{zOdXIz+ap4SI2k4gSGG&T=C<3cQDxyxVj~;8EGE!9#G&yTP ze8wzourrr%7_>BrK_BOL(T%b8YbWVwKTXbBVl6s!(dX}hmytvgJO)WOMe^x$6 zJ*TI4^A0a-7^3BZMqh-=j)IXi$8?{X3gaH_RoXoWt|2(6_6Q*;XTWvT=mSEYy_{59 z=UK4PF3rolCx_k=M1O}X9tU@n1s|_m;nJ{Y4YOUV@&|V1#jj6aJ$gXeqfapoS=WDN zDf>b#tc1-nA@<9(nL2lBx-*Toa#yCsaH}zB*dvKOw|HcmHn_Wsi;pBuNII58a&cv+ zLLqW`CXJ$~3gP&X)e&DLPb!jLIf`5m1tF!NRN##NLK_USr)O&amP%;zQ&3x zVI2wT@2b9!$#P%7kk;pkEqHWSmc$b7=Lg8TG7E2MNMeFkafDb@Oc%KhUgAUEu&p+C zzLI!6H!RtWX8!Jfw)Q9|b6CwFwL&EE6B$bXfWE&1hF}{)KYO2l27x~#EXHyKSd8x` zWeNFn$GNx;S0%>uNDW!<)Yl8@>4epDOjG zkyWUHQSde_`$tNI+7A%UY}Ft?ZOb?}Z8oBPU<9Y=d@Jv6*pXxs`-@_NI-B5apoM6t z4Um&%1;0?1amI;&YhV6JPp?^;8llq7;@+Kl> zgb5d8$bh&NBh8I4H6H6}2gimLo5V*h!F#+dYo{_%K5SxKA&ZZ@i`0FN6?imeDY2^! zJ=eT*iDnEmtcq!Jrpl|3jkPo*zQ+8x&6B@IN~k3(p;{z-yQna^fG^V?waTo5)+M|m z_$o_JTBnVrkMaB#>;SPqb2)NvbvbixrWq&nw5G^-Tk&qNmL370HMk*aH$WeuX~gOI zqvOKf+{opWxI^6J6w|hILKKWjF}2WovRvWuFDb;D6Ui-GhPS@g z=s#Aqkun~_d6wJbl2N6ptS*m>5e8V{ZX9x{7;E}!jexl&Hyk5!#na;v8?6yX ze*iQ!e=_aFyjrFOK#rBjp#>Kwk%ST(Dl%*MwUCul_8L|NA^Cz*fco-MZPR|MA1- z*ZPlN_Wi);aEGDb1DqE3o<2S;iNt(+Af;*l|K}8r!qS<)Vw^$m0@?6 zU7)0Zv&-{YCR!G_I`}RavJrJ>yIT=_w>0)na5mK)clF6Jcy6&O6fddq12Buh)PAzj z47^)o0%d~8v6kRF2Vcu_A&du{Ptf*bLny9XDh$s?;ceJ%{%AO!?T18EdhO!!mImep zh=JK$q#x})8inL}Y~Ik}cuBxsBqT42$g}-iCNNJqPCIXF+mDzTFBh2S)8b^dA6~3+ zW>(4EN5Od*p@Hi%HaIU4m}mQGM5AeVs$5e3PFNP1$6IYPJz1zkINB1Ur)DAs9A2ZI zP#BSCJG^JuUsAbCt`5snQF#}F1>N1Y<?-1VwL^E9$A zkI8fARR`yVv3WK)kFpd+GvnMkh&Z;Nwg5d12+xbyui^l`MtoiroTqzBN9Ea`?zst`OI zgU1OX({XqnKDP!0)JnEEh{FrQvX(~R@t#l|o}YdYhSw5>=V|&Ck5@Pfb))6HP<*LJ@hy@p<<&UhGkRg`)CQSRSuNdtYFT*OhcYU4SW{5S=HzG3XmX zda~MkxUtT~A(F8JQj-jHJF#4@!h>b8c>|lT86kp9C-AAwrHKDfJRZ{-wjoeR-bG^aT!L4O%UcqZ=Ogmu>NFCM z=L7QaM)dhSG3og})1y_Pc?f`XP@YRWh^Ne_NL&(~7wvym30UlYOK6@>bNZP=^fW5M zTpJ;Jihf1p%gy$JA$oijN_U?gs^A3%~-uq8JG^*vk`k{Nw}U>mFgU{mkHbR>-tQAd#<{`rQ-LL zIL%49lSx)D70TyVmW>+j8pgw;EUO2Xo=%hsVQFxz? z?o;%6iJRsng8Uq^(`3T5)}J2iCmC>CT&={@in8&CL4H>(t%w8tSTc9Pem-VRh5Au) zcB~Gg89C(=A;Yu>_g$gLGSmHO8)fJleZxL^4ja+~2XTEE)`#9bgBv|fmh!0;S>Zxz z*lIQs0ey*RK1cnQ1ogGeQG)p-mXCt@v<4qQeC5(XeL+m0yNO#v`z{dK$1S1hP1~J| z@Kcas1SvSqEFzLliBA?TW)C@cy$$ZWvOKuYaoJu8*{0l1MfY7{Hplv^d7k~^QGW4? z{&1k5PW*hact2aONPNOsiDN%=T+OG2{>71hw!4c30J;dkD=dZB5I`FP=%`sK1wj5# zETAKfmkSDn9c)Gey2=IZF@XeUx^3kf<0ArD?c#Om-e4Am28ImevY^2B8U_VdMoO{I z8$nQD7!l|s2hnLopN6hP4tbH!^S!cqm(}N%?k)=p45apCWT32?qXJil1o|yE7l;hx z&_Ia|w6X;}rtm;bPn^O`AMc9<3NAAdV12#ooR$TTaFvat5UVh};l+L$l>ig9 zE+6uX1PeOTMyLX58t)uRtcVu8LL!jn>6HhHU$Q!oRAt6bjCb}*V`qcyP>}mWF@w$$ zXAd8&T*VAh$lwYt%Mrp0Mh&|A=nn@E2ISy;fAOC z?U96P4SfAy`D3w!UQ2b+kiw-Ag+XzQVtOU^#<^T*q3vyTgy9ku76%yW=)%Y$38|(P zUc5m|y8BGwg-S^H98re;N>4DB7nfrXB!p0FR@%c2ng5qcGsQf%{IZb*gASc;k$tjY zZ;~!Z34(K};KS%h#%KEy(T4%^vm*WwowS(ovPI=2_|S#{Vk^zT(W{7hTrvRB>3%O6 zhv?V!D6f|VB61w!(lEr!sUo8A!@(^KJ`CRKu&*{v14XZ?*cDP^hp`n5iz|3^U2ugX zq-a*ON_Eu@Qzxyy2*WaPwrpwUAS3S&K-vr+U>MCM3N4J|3a?hhVMIgi#Eh#Z?7py7#$XPhKw- zPpC?JBPVJkq_9EHFB(j^;hCT~sxZBrbTHu(v!9q`J}s=!A8G}HL~vp9K5K>*h6lzq z2i*N(uxZSnqN8+$>G_qap*RTH$0c!v3W+@ROvM!Xh8K+{R8m5vv~{cE3fqDTy*)0^ z!$#fBp1O%7qVOW&gx+1)PwGmtXuER@KsAd57bb?FSK}|W9 zL>Wp*k+6weX}zu7AQQGmkkUUpqU!&xpO*MPMBnT%|2$(XkN>-I`^N1?{NIh6H^0XJ zeTkocX#Kxu_wN5YX4JoQ{Xap!H(dYk8UMu$y69Xm^V#5#61j=X5-CjLv{%at0s29b zh4SuW#(TV(N|#zM8quqNkd{R*klqn4Q6DQR<;7acdNHR68CD}CG}2KRwha(haoFB{ zToY^#03y3+PO6xZ(_sKl)K-GXr)GM%`_kNd^1wX12b+tP%(04~W9&C6`Kv6n0b1wg zMXC;YUNwQ)r<>t0%*PfKa@dk&?j@z++6rqrR5l|xM@JR!a&N>dG=PJIo=;!ym|u2Y z-v5qGE1sh`9d~;Lv(9rD{4<2 z1j)J_&ZMebrSgj^N0FlX47s7E<-78*m=~>?pHlfu6{<;CAzAJs_yI3IFLDWcROz0f zA3N$BsbwhW*1;)us2+w(bnmpTWT``V{~K8eNhi~qyuo=a6TnAIF?gd;Z~~Ug?-vgI z_v|DK24-@n=gIq*%7h}b*NqXjc40JK+b_-tu&~ZYM^lzm2yaJdA+(mze`8<*7w$Yc zIit~im_(gVD;K}#EWhG)PhSGe0>!u9lrVVj(=fcKWjbn4Mb4wEfKZy81swj{TOzJs zK;%QbNSqfLu7?~9CdF}4^VV4eY3vg&7D+|{lA`G%;X}*5?Ggk!m=J~q5sc&*wN$y|vRtaB zoy8}IO4dQb7Mmw?N^9a_TdB{vmX55OGIz2oTeT1u~;PT2s3hO*p* z^}k4bCXH8tZg}dj#il`zNk!Gn)1n9vd7LS)d25d$zZ1e+xr-R7qpEgkur28x0}SYH zDc_s%V(whX?Q@q+yD@%Zheb&rAdyb!{Z+2|ANjLf{`(U7Uv7N&!w)~i^56HjZ-15l zzQm8{Pef8n<$v+7TJpaLu9&o-HX!z6iGkc=Q>dGScJ}Q z=QPXeBYq-gRd3KTIn0Y;2w7+USSpSMnGFJ;&Wng*m$P7c5lq>>o8F=pnJyu5xzl0U zbUT#eC0XL~!AhaDg&t`lZfQ$r(iQA75*M@a&UECtKsP_$oybh2#4Xp5EVZ~A*3k1@ z9fwR2l}gs~mXpsSZ`tmsgMkG6I=Rbd!C}b@MK6EA1fLy3qhq3j?=r-`u=o|Z$u*_0 z$SeM$av1NP!Wk!kIpfRck;9zB${!HNf)rAh5y*l>J|JaXA>qi|J6TG)xKP$`bmcTH z(%mP^WQ_JCl_>{|H2Ffwj6}0PCYuFb9+8L^(W;9GXWHS66M_(-y`p^QVWcY&99u^4 zm&K=wX#wnfM8GmZ?IOl9#nH9#|7?K!Og!dt{(tlP&F^kR{QvhqY;Jz#|G&h~Kh*w1 z9+jV9{_$1I-)wN$eXdTpkp2le{nRRM!+9kxvH7T;4|cyLH4OaznhFCEhqR58*-ILP zUimsek)5Jz9mqKm0N#MvTvZ0`!SlmuIk%j%jd7u{c$;V?>eFj#9yW^21dakK93F}A zrR@|^1e|gRcTvxd=(d!P`J2lzE=8Cd(5_Ps8j&tO<6Q6-_O8lWP&i3;=|}YE{|QZZ z=s1Uea1ZTvB4L1S09)wD(9p$6iYnEee9tz6;7GjTGl7Yz_`h!k{Ebe&PVpX%1k`>- zoDECaBCR*Fx%cRiHM*tjA0Eau=P9NNnFBmP-l-y%oN&;VLTtl8&SbRA;oIzI2t)~! zl4F<*rwF1%3As33r^TE5|ERK}1k7}4hgC+Vpd7;G57UvWkWE2bkx1mh8b?902dA7t zikT=+r+uAx6?jeIj!?sqg3K?N9hE~o2}Hok=I@DnOTp^;+OAJCFh>vU?hVZPKKP-h z-(>q384lE-yUDN&-v%CST?Ou-ne`p+QtgSs&ERFR`R6H({T;ka^p45zChdLauqt5s zuq*Y*;oV;hZ?C_>%=(8VE7s@xw#_WP%#qtDN9gkmeh%yE&WgS_2D}O+K}>wXAmVaaPo9=ffOG* zE~jtSYr+HE>(g>R7hmR#Jg`+z9W0t@t>>A5n17maO29?LXa~Xfmi>px1$+n1ne|xYZXKvlTPjSwEHQu%Ri^0zA#v>uVW3(t zpx@w~;v1g%CxHCF=Q-vnf^}2WMJ743MH3LkB4V1B!zpUbGV=XzBm}}?;0Ut-5-?|R zhz#zi#|(jx$rea0E4$ZY%%n2Pg}bZtG0l=N@;tj|TFs-~7cb4zUxanVtO(dmB|LGs z)40Ov;l!1!j_DV|6{co&LU~mOI&z2RUV6eU@mfMppOy$!$qLHCwvO^?HZMvWa9tdu z=0@~Yk++Qiv2vsU-t*P<(R!Rnmuu_W6p-D+cAo03(#xpjdO!t@V-Dg`b zUceH0y8UANr>EOLJ=xjz7sx3f(M?7?xfawcl3fXfY>o-D{^xkOSB6Cy58vDxfofJ= z3pGK{13Nl&CmkR*1_}M%IN+T(7J0`G=ryDisG}tUO9TA{x#y&rL5QCuBKu||3Gxpv z=u3GGA zXRh7Q^vVNaguh;f=puQ;QXW|3rZ%ydzWe~wDs-AFeqGJwqL)dZ39H_6j-qwX%ftwu za=X-b{S+Wj2)9>d8_dTEnOgi+Qag%x$p*5qJAin?CCjCr;&4N{>p3m!SXpj+xIjYl z3@6^PFy3S@rr0!(v^yN^d{ei>-pc4{#y-dFtmZlZ(--zRfHPRs4x6hCkZw;Xg(Q10 zAY&%CE}R;~R7E+T*aX#7LIQ?|@tQ8oim-Jo>J1w4!taC?wrW4OI_1Xgx_fZypLlY; zo~B~~7>)7`(+}~dr>>*xdTfEpVhq-(x7)-T(UT+4G;#k>6^Pae+waCWFBHImFX3nk4ZZua24m+Sla) zxg+y$dn>$YAI#upAi)ZSTY~uyFL$wKYIT~KN20UxWiS#U`6p!UKhe;(%Svsw3UF{q zhZd}bz6xtXh2f!w`DLUg3%8-9K8>5ECBP+nwOn0Z=7`0WpcYzzPemsRB|O=NUXZ-0 z{Roo+lfYP%vQ^xfb(Jpu2%1Q;23wyE3mh^0jplIY>KluLRKfYdRC#3f$h7MYBPGJ> zz>7%qd+pc?$B9XiP6|%HNaJHNm8S^sOlD@WRJpd8%@LjfOE1>S=#)~`n&tTHHT-Y> zn`{67IPSj-?f&MEg8u zcGRZ%m_P7qjk|Y!cFbZ^SX6cvC{h~7|y~LI3Tqp zEc6Jw5=qhLndNmBIkL^u$G*exT!TDv%R)zaU*Qkf&l^c<-U3A~MC9;~;z+)XxUM)e zJy_`(0AJbY{j2PT-$A;CS5|7q`M|NSjtVi)IM3jbtX&3;oAd0mi%_k?D;w(d%DIlc z-mRb|EcRD(IChr$I$Bc98F_(uKE8)&mkJ;TND}^m!`Vgca8d%XUVB=zD(x`+V?D+2~;u>+b_AJr8xQoHNs#k-J-a&4&8keb8-1s}NItQw7#m z-+Ks_`dSxJdj<$o(RbEdZ@&I>yae0pdk?@`9~7__dw@Hu_s+A~H+2Av_SR;PCi|d( zGTWPK>iuwrdozrGs?#Uay%~ZB4Gpx$`=%zc_1=(gS_syD-$)`f;5RQA(LHhr&^rcY zlm*|k>E0akeK=HP!tdRQ^+Xx*n;IupeES{?{FY|?o;s+mXSw(I37sXF0871;V%CVy zR(!AlF0kWU_|R)v^8+^LmGenPYd+Zt(Lp+f1=n~y+l$aTOwYIH-@q&-)}T*Ah71uU zkOQc^ybjFmY?%s_mBNBT^Smv=o~mcZ=e2=b87db$@N@ zCTX#apATrzRKiIVv+G-o!AcFJ%O`{u{_C3f9qp@H`f2I~GmR5OGPQcXog(q=r5>-= zWb)Um!n^htoBS7A{BZavKxd-i_|boOz) z05m)M0nPw&-Ua}B0VH=VcLIHMW3Eqtz4OEyAV3{Y;3~X7&ly1A+2d{i3V62$XIOIv zhW3!?Cs&Y!y%x_vz7dqI` zZ%ECrJv8+zcDo6r`r4*_2PBF4N>YkPBip`R89v;v%X0Sn%Gwg2IT%F%orvPObKJ!@L-<-e3QLLdI zzo}9$Q!UuxZ zfssJCgt`@94fcoH@*_a9^KAN-4@pFpx`sg?54f6HSd)$!^B2l!LN_n~*Yo-khPjmi zuVcce4EIa*cObj4c?QQLT|1xgV7qtX2Dwv#FGcaobjQ{kcWNy1k0D!~XKcoCeWfozZ_}He& zGF&O<_e&*B16fojhIvU3M&}BjpItPqKWuhjuIkKMm$OrT0~Y3lGL>2G5VgV}Fk8M3 z*%v_nD5sbV2dWL&q|i-N;(53jlyQlj(`n2iFJmnx>=$JY3P6k@nN24%r(&XFD>Ugc zGnUfN0E+f5A6kEbYIeXFVvOiEDRW3)kl3e~DBavl`IHnsFLrl++}izXjr5YYxAb5q z3~zH9J`Vkm;VH^E*Wg`xP3Z=ty4QghBQCOnh3LSF9@d~>#iFQUc2XEQ1{$v*>{w-s z{X#bShG+Pp)NoUmP}9Q)vJiG*qaYupY7zVyG-n$#R-z{Mu*@e@3sh$~GqCWmo|V(k zFrly-;IQ&zRS`W1s(OiYCwnd(@@KP>*E=WBh0P$=p_SLKcAo9LQkp`k5tz(2>tf9B zDfm~M=7=!FKvg7`d8%+i>Z*svmUdX3Sp{{V);YqaT`a@C1M8(4@)FF5sf+g4@wxK{ z5e$$aA?J``bDWZ24P?>F4`+ZntW@WXvr`qLOw)#g2oBes-EWP6T2-8#{K^v#Y8XZL zIUsBS9+LK+62jRKWSx-0yZoPu!1oMG1Mp%w%k=Ig1HA*$h3D*r)nid-;6>$$8L}V?+8L2ov+$5SI)>PT}`v zWIq3{^$Yp`W4<>Ze8f8D^Z$m`|N4Hw|3CQpGynf-e!mI+7pHG-C9Ma`0e?ww1|fcJ zCB*phxry1XfoFCGFJ{N!J!Lc~i{mmqjX-~GB|dpco^5>^e2SLyLU&l^hN`MK%yE3M zGDue|@oF#N(vbKqRSn-FWl`A6(`7w}TQ$wcqL5SciF8s6LQln_>KGNiu$t>elc%dR zt)%E~`ZnXTE;`JN*sHDosgGA)*$j)AV9t&Jw@Ww#GP6LQTl}%bG zGhrt}b7!hy&tLC8*?yU{SBdxOm^PBz0=Ut++&r$$T~r%_8F~afAS{y1TxZyI2{U$p zUZ_VS=MT zP58_9?n^}d+oq)>bYal9{tEv>lPZGUvb-*OZ0S&0Ezy8((xM>!`)_)884O@I8$KDC z0pgeUDexWsdIW#mg+Ce_zPtV3uXlF0lPxpReIBaLoNiRS3P5ji3ag*EVNSS9tR^#< zWK>FLW=$agJV3+0U6}l~p~RY+H$AS-knJ>gz52%}pJw;o+(NkLZX%6LHombhn^6z) zN??nvo?OuX;ui8GXO|{Phc%iQ}@EO)&TY z|5YtBCG47clB4ICUTQ=G_S^Vek??V$<77YqMvVdYGf(D$*k&4Agp`0n&C^%{c^D8P zW`?5=DiL~lmY3%Ew{I(Wz1LSFP?t*Y&q24aE~>LJ`kbY3-c-0w!L0$;D&Hvx6ku0j zl}$~+_4r6^{T*-NF7K(NA_5=zJXLD1j?baZnwEr zRR+unC#$W@me1nbI}#u-+HySP=DgQ>9xU4c?B`_%jAzNxRn`GH#C6{psIy^c2bbMB0ckb@|l7>5ZzQi-C6B?fR)5i zp8BTYXta18d^Fp$6b2@nOsxY7BGh{W_AXB&tFCQv(9T&4C&75IY^{`I;pCjBSg|M< zAcT&=H6cz%lEYrbs;bD1L#JItHuo?c7nnuDu5WeJSrOJo3DOl8LWTh=b(*DP?cqR) zwvniFG}obmRC-W4XHwa7el`?IZ+JnQnR8Fp7J~3dDmz9 zs}R)0@K-OMZN2*L`7TH`eaR94ywwiFNy|Bdch!N5HuaR|HeUi{Vj#~*OUorrkVC}` z0c84nAti8W7?B2!b#h;`DF)2c$!*0;&<^#Ga#~1ChB#T(7on`4Tew4yM(Hu>CUE7- z0*4b0CInVEc`4Zrxb%h?yHxr@xi9S7kNOUD8@P0UrKTh=N&Cm$olZh}mwcSh_#!q1 ze|nChC@0YH2@LN1322zvW^(Ys)=y70kdK+~KZRfYd6}>N?7lih+`5&Q%ow>ZohzTT z+xy71k0>l`9)9!ZCB9LO`@0M!rf5;LsxyQ%T2VuX$gg-3$^r_Pp%w@Hd5dxDXIc6d zj?Wgj#JZh=Y&*7#nR;m9tzmXBgOWix8mF2>6w=${f?cNE#N&gipqON2@Po7DT`_ux zYCc-i?f3~AyED2CY<|aVc@)zzux+I90Ri{*$jL$^Frgons6NC1WDkck*gq;nUM>%J z7(rUDHiV?p0W{7av?ndkV`m5kUvc~(TJu1?HVuq`uOh||P&CM~U_z^tR!gQI62UH3yoA5=a zn0cF>*JILiL~Z->hvz?TubUN6ohZb!@AZIT@RbI7h^LdbYzB`n3V!C4Y$>HS8bB>a?^0Ju;%}H0L4$@gU5rgB>p@hpqSeH! zoZT{6{hb0|XC6(R{|BinDUAJ%%RLTDcPi8qzNe^@Cs>nZ_VIIv+{u#A;enmZ2)l>zu>sd7d0W&?x02GABE_ z@=vp4G`L5TKQ0`F_y|}|9%dUuN2gOTSVOp(slKZcl38UeqQ97Sfh*Int2y7;yjH|9 z(&Edlk-=+(kkg#9?^u-lOu?J;324%4w59v4q=rjlNKiL4*PRZBIh_u2ebDE`57KbT{WDFE z{hQ|qSVai#Ry`tBoM=7FUM%?Fwq_$+4_Igc(7hJ2p3a??3d*NBbAFM5MGXT5Uh=Nd|4&rPX z;sAU#`Q4&mPeNbU20$M{N&wPtEQJ@}alcyrW=27|cD18ed{_tG`rzH8pt4!?_ z-Y9O6+-4yzp{p);`)9yU^u5bHoTN!wRSr4B)hXT}l9fW6*Qh-No-#Ij4{fZ4Wu&hy=!SAT60yfMo&3;;tX7@ufha6*WObAI5tg2)b=RebU~7Zt-`8*U6FF;J;n zE!mwOtfp7auUe^hEKkXuhw9oEEZrSPrP>r7A$%7JqyNDvpBy+u?J#KC9xU)0F;31C zMoGlYtiwXB$Bf`$i117o7*2qU0e3k6ryR#yxbR=98=O+{oCsJ)z+n~dfK>%U36^7x zto3GM{t)_lFBn99cClTBUf{ChMM9)Fv%m4e}!R^ofzn|jAuDb09Isni;3&ZbZZfUTbAwzx#tQw>!a#I_?(}v z)U>RJE=3MeB{t>`nQE#cxw5yeYe5asx8|-ZzPddev{zgIQy;Pq^3b&%x~`)xG%WPc zwQZadRF-nowb3?l7hUVTs+@CeoZ~V+x)S!c6be(M0KRmd?izQg$qg5k%JUs?O>>mz ztqm((?0*Zd7I@yeI8dC9mM?dhTq_JerT5njP z;E!8>UB;)jfjIlo_U?lht$iJO(gMa5`_cC9f)_0{De5!pHITq|po!P?m$lPm9cNkZ zDCWwJ-!Yac<~zx1P_U&PV|z77J6h2ie^GhJ#-}ni0S&IP)W~K>*oJYIfxfZG3znQ< zQ9Mwm#S&hyEOo*GDvq!Yf|bWo$YD``hMF8;ZGq*TV0~~mtC6;@ui|uvi!S2*DocqS zpByq}u*R<9_G&xZ=<4cuy53N=VR_;t8r@qFFemQE#UBRVt?b-dtH=3R@^_0|TO$<6 zRkG>(#cr+5jrtg#tuzVO_HMmVUk9@9hd|w-L=hQl{^mY7Nqx6spSG~Zg)!$kl z=ExeNb16_>KKSGQthWL`N$tjJZ|@KCW<{WYYLeR45okZHof=k@=gK;_M9rC1;ahtS ztaIy_=eVlyt*`9A8gXB>aDEX0YTtu3oRp~Ns=W`V3NzYsVfBw*oO0N^p7$yO6Uqm& zV1-+oo(pS;{JD(tDtWIu@a^Pdc(H2uzq&K)ReV{2p|qQX zVSowz(8Ca?mWRHr4X&+1F7DwP1&LXIcPDgi6@WiODDKp1QT{%}wG}%H4;?r*dASm( zCs>l~d4ry=%R0JxjMDP{u4=K$IzvZS+qx_JyY}>fAMtn{xrc;L zSsz#ZA-G1~P;>y@$e}&|DJc8rIc5KB%bu1w{72kbp=`vFRh2f4z>k_LC%4r|5m)Em zX%xsu)qV#qs!6Ti*Yr`A4v{;BFxgA+`9r6$TRRTdvGf&RsE z!@C9S=@&|PSMx@-zC>C}w6s?$Z3E|#s!orO;g@Pxv(s_hfDL!UdxmQq&lLO}WH-oH zRlaU7%+J)haib`CtB9+q{o1*$hF+`qsdZS@b`6sD#Ag*=TQJy)aDwX2s{wO^3ZF)Y zReM*}{Z`3o6?|6RA+@y2Dmi*NzJd~P+`t86SDXr4fXniR4QLa)-coL=_I_OKts02L z^E^~z)2me&HJ?;+NNw^)y^&4@)d^I%a*JE`+-g$m%G@U3RPhQ>KB+R5zC&;Gjwy7YN_d+t%(yc1&gbHsy?pFO!Q~yzQuAT&l?zl?W<-R3YLXE$@-) zh&iuRP0v1E-Y->Y{|cq8Y+$>lQeNp)=56Hraq29&bKOpt^E%}u6(8bxiUm2fiu2pC9lpmZ5OF&V z{7&idLXT5UaN>KNYB!=e@VClO?)UcNyY5f>f134NOtXQf(&&{3A6&Vyy(mpadZV_>RlaDH%kARo6`%dgIQET zMk$o>bew^qQ@=%W7P#@#AhF0sR{qr-9tVGiY({xS z+NM>wP^v5&3brj~W?wHv8FqMNZZ$Jhu)$sieNIHmOnwCIi`d)foHO@8IRJosGX#AQBFuHljGi)r zxT5JHDEHxVpbilgBUU34dY+E*e`al>W621WE)T-MtOeobH_?d{Kv@wYfuY2(3S?D_qNT|v=oaAj2X`7Anbm4j!A3vJxzohxM5O-g( z|CpMQZ&|+vGNmbdoQZiIyn@Radf<{86*Gm9!qFR(iYXN`g*0#?6N*a#=r-Z)f#Hm^ z@i4O2m=5ggGsDzFy5rfjX9svNfX9PD8@{xQ*eA1rWOX0KvgF9b<~2_3;$p+J=GbZD zX%=CZe@EwLZ=9X=Xeq&`?Y&LffSYy)+9kE$O-Zn;A9%n?2*#>2t1c+3Q>Jm0X$&5=KxSC_Z=j0|KM zWZeh)U-IZcRWT-G_GvL2Q!r0{nh{rs<_6n= zD%n|khYaBu%`cFtG6#+i{EzNDxZT46Fq96bkZuO8D5pBz4Dt=qN%$1~=!^(k6c~F0 z9hC@x^K2?Pl~ZUgi~y)>aabY8?`pCQ>a`(fGbJ98G|dnlW8E~&4VzN7P?Zr(IC1l# zWiRWDCEO0;NjI=5(Kpp2yuSAKg9BM8x(sh0L=JDOn&==rF&#Si$=0)H=62qT@j+G% z>aJK<;6JzivNgBBk1v1T`DuQMou9tnr#sb+=J%*Qdz5UIWh&hj9@2dOLpGYAi#EOS zcy-kMrI_KZug8qb1{`_XiC&e#;3jr#@s+It{_#TQV#G~YWa#39*RSzx4mQ`*~I?1K|JhKrAmTw71 zU~pJW&fCRO!?2MQJ@t2QIGe-=1q#}~Rk5HIz+pk}T-`WA{?ItW4I^ZDEBM9^l(*QF z$bi{a^24^b{(uK-S5|Q7biA+8#Tn=mY2g)Dyh29wKF5BTI-Z$-*Lb`|VqYgtuIKsM zmKhlzEAO%QWzb5~97{`;b8Eu?H-6m%ioG%4|9-$40u)y;gm^xX{~A_s2dCdZC0sk+R|J#N^mL^)mP@@W^n2xck^I5`52E z0sA>CS=`rNf#74)*Vy=NhU+r=G3+uejG`=>v{&DYEZS*>A9`Y$$am3o=O1`=kt|48 zk6YWlYd-c8*>;UP+owzidYMge;liVi9Ov*yFRupa<2IL(FGX|(UdMdZTs76IJ_8uM z4Kq@PdujJsCg~7Xk59UX8GF4xy8Tq9U?Hoql#CaL2KNZvOiW#`Ze)Zq)#b5r=W|=}|6}q=E!4@nUZr5e!Qm*w{6>3X+Bd2Fm z<{8vckJ~~*Hm?@D?1F|rZYFy#Uq5-W{qp60vK5}rt>m(PSQ#M_@_@T4VE#0HbLUtq zxoj-G8O>c_8{3sF2`;GlcqR<2KftSEu4TvB0R2f9+@X7TTtH}WN?XmD6G{YdI!n(H zRLYcL{kZAST7@}+Xw#h)<=e`m`>LTc1PLW0W)2#_yYa(;fluZdrp~1qsX}lAIsz9} zz?y)MN>8sbIG4;I87aZ8k6v93B`aeva5@r?%3Llfu$b1D%6D5k&z4;$d)@*;orFB; z%24h{>IxP&s#oy_xfos~oP6-6Iemxj+#LodZv392ArHC);kGibA}Yz{B?}&6D&-P8 zv~9QrH^AlGy5{c#TOIiYrDOl(#;pOt>i$M3&@ln+G2)mRA-)C<(fAMn3job+Ov^IV z-l0bXF8cOqdVbK{+%s}yK?bZM%I6SPZG&7rk_{U_rBKNc=#hL6R_-j}z?@F7mnvQl zi8{|M89RadJA-@FvIgoS9)*qQvH~~{uYzA>h5n+BZT3qbe%F}*=%mPTpe=qMN~={i z4TqN`BjQ2OSzS9ATg^c`1t~*dvEaL!7QIvN8>kxXUJJXYZ*9-RLR*CV)BEQv;pK%` zKE+gzJ5OtE%x(Nz!=ingWfKJ-1Lm7^BA$xv)tuZDb9wvo=WW+p-z5KO)&}A7_RapI z5uk&>KZL-mDfKuG_>m;0zUnS9IKYlHj&ILXqSp>kxjG7S^W+f2#-?RoN5+fU1q917 zvP&l*8DBp=YdQz%1>`Y|oP(1kKeftDF5UA;5)0F)GitJxc)eX!a2MwO^$xSj#*;)2 z2D~6y_C7B3)sIUD*(M9|Ov%zgSJrq^$&m-(A($XAJ0u&oqKm%RJy`4M$kZ-J4=+<5 zdZ^T$(pWRCQSjg%!8SP$TFZj2n+cITa_~fOc?^NUu)GiInln!qt!Of8r+@Cd*>mmN zNLYopqP|A|FBv^ozn3INjh*{aPwVri&-=;GX*o{TNg2)FrG=woDWk#wm|)jLDKxN! zECbKe*YVifT6xilxaC-9f^kRI%3(>?>7pvpmuzsUe1SUM$fq{=nDvdlm~qQ?58xJ8d4$bA z5`?W^xQ5we2)u4U`j?hR!5j^0k^-9_{Ydch5sboz@To0s!JGg`+8}lbvhFjOqxu(s|4S43xH9$mzA8 ze6x`}Xq=Fw)u4Q^(^ETQEJJhI4ZEfXhof*64EDjfPw=ufG)r~8K4J|W|Kmn-$M-t% zSj1o{x@JK`=k&T2oE0L(`qzb#VaEXW5D{NP2C4b>>#_6Fz#8B&!Ue-5wH@BFg&V@N z>BFz>KCipsPMF*?9(n8Z~D$E1wu;+5#^(E-CQ!~Mi#hP1ru|nO>2%VZmR4RU<-#w{(M=` zepcJdBKO%6bIzRxIVWZ*U9>4Z38&F6`LmLHaB@qlSQGx70HJ=)d?|%CMsdW;)=u%N zuSmpcJ2v}iW^n_b9Z+ zB*~U-Jx;&>G3o`?Gi}5QNHuho`AJbaUQy*}>+oE@R8@7|tsc{e{&qF_sW|J}GZo{* ziwQ36*)fTD5ho+`KN=267B=4)uE^3$!KE11fv-=GY__M0Wa~20w+3gjrJcwEt*jZ} zOwA+w5e~QdG`d9F4NJ7s^kKL>r5Kuq%{xzewBKD@BN}4GOv{=WW#eN& z(vWkW{^pnL%Hxls7V64u`Ys(=Pp7a{%;TxaP~lEyQLdvj9oa^NUl zv>siAi0FAk)16{(`?JS~T8AJTB3^1>5N!IU1emnt;} zsYh?_1)HyzRs+!Db|Wg0eewK>2H*|Rmub@THxjoWUAP*g{2_Pc;)2CSJ3Ivcz^-0B z8kT_>`GGkN?Fm}7jl{vjLX_;8ias|;#2+4~_mS6e)z28UJLs^sx4*AfFMi}P_@Sdd zTp1lR&`JvYq_2DQ>$1w4*={tIY{(-(_jzNSxDz{t8^HEA1SF?lm zdh({-yZQJ{=gakOvbGjoioq9ex=EW8U0kT!slzlnYvH-$HM~J<{ug@ugrDLFDuZH| zG^qm?g#(v1be%v*FhB?p%7`$fm`ZXA1JMc39>GsNLvvkOs3>xCh)YfS;FW$sP)Mug zF14-t4Hd}z4DOj%9I1wQl^VE&uyWv}wN&B6Z4uXCB!pJ}Ia-a>I+yMPZ}lx~hxeu3pY)l$@s^;sl(@KA z7Lyq$4|vh#W5A_ow^|)MlFXIXmUU(RNd_uUXz6q=v?YN`h$jVm3_IJVMX?Zcb6GWN z@q&Fzi}6HKYjXjqLzFynYUqwcSYVE{V2m0yPGbrG3AorGoZa`B}V%4{bqDa03r^M=9 zcWuFj@+L)j)rI86HVq=LYlEo14zlSPxZaI;3bCcfe2RHh2)L}Fbu=5XDU8BGX2-|o z@~j$cCBJlS?mJMg{0i*%_}KF>@+u;)cU)L%qgl1IWFz4QM-@@BQNs*eByQM!C1d0> zCu}9MHZ!KV-?+H0v0=^GCs$)WhKZhD_Cxc^l~=CMiALme`rtu)o4Plj5N1y`sh zwi{mrlGcS_G!f6)_6m>B>aYZ1q01P60O=F&o?Zz^$6mT_nTeCDR`&IR-iu>hW!D$* zK;4BKNuO@$8X-&a?YKA_*EVb1vN8AK4HS6P?FKtj{0d#`dJIcb!PuR@)=hka5_c$^ zjEF7i8Vy~tu9}*1fu8bz4X%lY|H0P2LH6tPV`6~J$N#u<`{C^ewfw(#?|;Vs_!PfV z@IL_i5w5GXl@-((VnE4b^6UO@0M>d2@JuC~xT^?P@uJKyB!n``o{|aZL~AQP62>N>NDWZAQ>h>`5SmZA zZ!eOQy|)yjON!zq=!__uS~uwnN-@GZ5a95D>qNLp`goM5)quc}Ou1v~GhAW}TI>BC z|3neRBsR55ES{K0M^f7Qj4T2)Cr-!mf@d2AV@0{s8|EdxAY^o;i_&`1w;zZ7sf$Fq zt^7@7tWr)U8KF(^(jfRqbNCHtRT$l%Zyp`a04>m6>{5!13)Yr0P^8CZ`#6P^ z2RtBk*;vqcvCssrDs5>VV~NHzRnhfqI&~dAe_tQNIlbdgJzLhT#!l8rr$fWg5mVun zY~S>A{z`(ZS>A(`AxUes=}QW7oIqAaOojmd4ZzQ9*SXdKp$fhuCjpU)?(}Z=jC@f| zvvdfcClC*4^Utjc;yNF^9=!(so>HC65NEoUrbbE4=B-B#X>om45RlZsm>C#zU+lxS zO0WTt3ED#}wrFrCLp(psLUgvz+hW`3CZTBpaSHXZXKHS{s*^u( zr#hjho~rWd)ij-tHAKheeWmvj=W>o8CuJ*wa|Ju=Z z0zr>ealpMGi8+!(eM=js%iB{v{EjUjNVIm8UucXZfL}|J0KS$&K>wb;OWA^h7;N!U zm|ybVT`9Qp)AtSJe*M$KTc`Q>_zVl%Q9ChAzHmW@lUWb`h8VJ z6yMlz@N1?NET{r57~l$BL+J6q$3$)zO1G%bCzWZJ0q!kg(CQH+ zh+6g7KQ5fy=;8Q%zx~tp?#`3JldUH|Y&*CVe*6-yYOZ4r2;n^V!3gkR!z&1m#y9(l zi)Z*a?R_w5z>ao;62X^6d}zGh0&)~A66vc&_?z6lfJ*+AOztL^;0n-GnRim~0Q;!s z*yIKXMV!cf%vH_#FK z`aiV7e{A^Qh5EnSUw<9q|K9(c|KZd8M7`D;=3qlxHv;&bSe^$4Yo!&EJW965@A9%3 zTW394>n~3rk4kM|Du^!DOj_yYHF+K}(}qq%bp;t7 z)AeAD7CF-PY~p}R5QX{5>%oMGq3ahI$>R*X;Ceontz|*$%_mTyrZ#B};TvLg&V9}Q zKs!w}c|Qr~20Gtuu+pOX)dl9&aEJi&#;-*}@#2+Vc9W)%Iq%m3bO|lN+YD{&vTW<| zsP~d5#kk6Wq2qL5WJrYkvtE2n#^@=DrRBX8*CdZiuQTb0{Hp2?BwSe)S$s<8P2Yy^ zZ059~(q#9<$}bnF1Wmqt_I&H<0J5?%mByII`> zLIk|zs2|JUJyw1!R={C(3t%PMmm!?%YVs^}!1sMt(%H1I+nvLTyziB|gMEr@_&nsL z77d{*wpJy<9$)3`=(;i;k%O?|I4G(Bu+O62>bRMLPWu5m;dlhzCQ0&NSvk%|qO1wu zYyFBDgTq;t*b^D@G3v6s`7FO*UL+;3`&m!o54AfN9Z0NL40`tE9pwc`O<$?ED5})= zG<0x*2b-rsEgFTU^?jf9)^IMg!;7SC7wfR+E!WGYhLVJPEQv4`i*pG1`uH=joV=bw zR>;%0!@L|!+W3}@J6uR{Gx09cE?d0XK&$esFM( z70{K5EU7-`2m%Dx8BU(w_LZG5H+$ynbW!yi4UCt+x!jiFu6Qcy+RB5(WSGIDm`#Vs zlBp$#ra^xZT1rgafoFST6sd^ z>rDjEv`I4XZy`XKZGHRtr>D=h2jA}eguGB|pLyzod`xS=;>~phdamX0@Z3U%^BEVD zV*j^)JYq$*7)ZDAR=Jy3+ zZkQ&4U?kD#i+>Bv)#u;G_-Xy0T-Bd8|JUsY4^|Fof`q)h(!(6Y$p}HGx3rGUPVMdN{ zKb^4l_9A%;66rc$<-MEhR!HNo{Q8kVa^d$<9!gy+ih^|qG=Df2*8I`KFvY)d#T3`b zv5N!vv(+>F5F{`?bZHTy0k%hPb~*GAUWTpRFs)iHU`oG<4C!av8|WEhsB%7%l+?dBDTjGc{dT{tBA zJA~{qydEfsP*aRwCh24XJ`%Nkb=d*5i~2m+AeveVBf= zqLdy74_J@_niBebc9EP}t+2V6Lf?+n;2;p`hDE39L^4nskr*;nnmc=#6aZ79Wg#l< zcBGS&*`t;hD=tIwA8)wHbP0dnky1{?5gRJLF%76$cPR?2u4^1d#F(eJlrDY{xFxwU|?3j zY@+TEnJGLCE+c`*u}c_yd%B6cY@=L@za`)kI@32ch>RUH^(ykFr+5l`%%R(bEml|K zp|H(C1|6?l&&=JpO`f)`vsMT8!qG)?L?_I^XBLc8+m*)~V|q@#OhW z-|c))Dh}uR4(kR^#lcAd?x-zRU#t^JdlGm76%D*j?K+8l3u)Scm%j9C_^rh5K>h<5 zrjP9Xu~7cI{qSBb|MQ*upZz~R$*%{578@8RTZ0&MLFFhS`eU zb*stNaLCsCQt;Q%hKpBAdNehUhk2DAj6nBYombQB6m2`uc8)?Y8>Csi8YomFCUHf^ zrm>3|*LAs1saf;(zc=+C?;u#@|8?){`@#PI`u6S5`kznoi^P9Mf-vC{WN;_~i&`~% z3{oK_f)ET21O#A7-Y8(Wgm=lE-k+oHl7XAPIc2`EZuR8YYtw$5UL>a!`gf^th?HB6 zy@i$Qg$E-SamA?u79#H8>GWd!!1r&14}$;$hB0$7!XWp$qtX9ywCW~EU7+8?NT#mjG zXU%FaYA=Mpos`+TyqNh3&_&XX9qJIkI5`_C2HCK#$rs--%W8z&qBIhK;O47DT<9pw z)!9`C{a_C<$4^?c;5DAEHOB>WZ|!%cgZLplc-)r9uDqqCdK$Z_S{9_Z(+!e=MFpYI z`I3sR8Xg=S;mnq1Y+ZF_66)dTEIqFXuUlQUPNuVQx(f7S%tSH4p+O50X#Bv@6DBub17MoT`pb4@Oii6eYG(J6_vJC4UE zR{-^a*$LudamM+-r!&0W9^9=!C){2>*( zzh;NCDF%13yQH6SRlm1MS6AH1XudALk6f2r>w<~V`UUB#=|KBtC;5-K1BfMvp)h@# zN1oL#URE9P6YM580r1m{995mP>pJnBH;hONj6ElhM`hMpe~mNx`O)!kxJCCvF`3!~ zpqST(66ykU1DJ2{`J|YTkw&cqj=i4vK1zgV$_|GyIIl3~6{DS^h@3bqrOK2WEJk($ zqSb-Ub9Q}*8;`j9C937tH%qHZnmwmAATRrAdTFolw(X&?lOuGyfHXy&m4%k~F7B%w z#NO)341JO@+!qG&i+}lE$Iab3Od+S4&EAK-yzEBZ!vh!i-je>`KT5_<^bhr+nc?AZ zNRZyY!+7acG%aUYed}WW_vE_*l#(Exo*3^fpNkAQCi1lKfsDR|DeEHfSZq$7 z|M-0ZiT7wa9J3xDv*<9{(hZ|iW=H1KIsyIX<&vL>vl$I0g9rOV3P<^X-;|Va8OJ9) z?gxRx=$c-|b#7do&{S&m*a_+Ra_gED_4;8NxoaJJWl8vnACZcdn)-d~M%R@?2dO)% z30R((n(~bbpj(zW?D?Q~->4C#BVWWQRe5t`$Aw5|y0Ks@s~w3A5kIhS;7HICi2KqZ zy5O?|NIg+@U86f59o)50yhhREm&5p`&SL7G2M4tn?tN)|zg~TPYXZ*&a!aWIf9z`` z2bh0L)X8V(HTU!Mf9&x6u?+z8^?e|^8E|G#(V>(BbXPw}(ypR+P=S=C?5f~}!W z4mkYSOT2B5Ajx6;{So@bt2bVdseKA|zk9KuQ_;D({B@EKan~G+ppBta3V1c*dkIse z2Jq1kKs1~d)6Cv`fp1$ealSb2eA;x6`Csl8(}SCz-|e;d8JQCI_N`^VyfDnW84{>! zUbq-`?9cQuXa!S!|L|KIqTs)UP}*_`<`2$11fJV)QH%@6DQ)7%=qzImGKN#+ zxQ+efk4~k*4W3*?lrpRDCzs+nubb~y!vH?ta4vi5m?o75^ze(uj>q|7>(f81eQ5`! z`AY?ck=XUoQ%{5PfMMbAFx)4|lo$1HNS$Hc!H14r{0R}L5uqLO2SLtt2ud|#T9pB{ zn*byRtUj6S{c_gWQijgP)#@pr!8{!t?rF^rDaS*Wg+ z@H6m~Dgj2G6BC7Bwm5*R?<39o4RNFFju;%R=0R4OE8Tp`X>7<$iYf;cHZ+fj#GJNp zTD-i+n-q2r&>*zG_3PkEEI^TDo)FMY%z=kVM!aKU&*x*E6u~+Y#Y?k45O`XmYT7b| zaFW_8JTSAX1Zb(xph<&4b(T&BgLWg@n0JHVEg5v18%(DYG?(A&KFa;7!?*WCgtU63 zAVx2HLG0}yioN3{{){N!RvM}AP@9&j!u5qd8gQqrTNa1ll3SHw>gC1s6!dw%S5}g! z`#0$eNmIaf#GEp^CJhnqe*OH|+_RaFAZWgX>!INbt20r*`Cot!adna%q-L0cFVsQ9 z9qOHC<#F~!8zpt+_+O6RYVz{+)91+#TmPdMZhV6EE;4^7Ep+=zZcWTe;<>(D$J0pt?E(5$ts0HP zNpfp9ajt%5=@60iIygp9&H9qm{3g`t_5>%gvDto2wK5g6F$&!nc*X?4($Nx&cD%aM(Tnh@n-rey@)Be~hk7poqph>1nY3vy=`E*uc;)!&eqz6?o znwbeORCH}UdGT1+Hiswlm`2F>0g8Ca#sTx54}bNNv<-jlVX_OKKZ=y#IVKhrq98n( z5Iokkco`u;FKPsW@{4%CS_?OW7sx(`FeauAW`gQQjRd151PZw(?k9DV2=cbBN)&I+ z!bv3`u)>5X#?yi6_y9yrfG{Nmt$!`e$B;lsf)KL^JSRA=-6IwB1R12o=oIi%Fcd8O zc&}mb!i;*s-G)w}$OZFiH|+c!wTw(Gu7aUhOjFUk9o>fX9{YoS zjVaLQbI4RIm;(64r=c*{4!w2GI+Z>*YK)1w-TX1HadF?lHHV($G)82;CUYI!);>G0 z>IKe-Z}gU*Ym{zI5D~rpqLsJ%E?fieTx-eF%lp_N1&3cOzizDka~B&@J8jwxHP)0e zj@aC_R8uI2nj#o9tM%EheI36X;1`@0S6HCnO5)$aY6i`UTD+Fy^V$Bx!RW0UqdL|Z zt}Jw7!SdbYG#}3@aQiGXN@x&rNA^nij?6PKMLj@rZ=*_s_z6;$2DRgXd;)NsSSgwl zn(GPMIQlJfO< ztI2P4=-(+0XmAjFhZ!3-4S@qhn6~Q2T zH}WR$1}{1yDBkhRrFI=E)RbT$Y_fxpr2~JfYBycRaa)8R*;4-oCe}r!JT+9L4sX+d zfi7I0b40P2^E#adjZ=f64m{B!mO9@sCz-`?Z^lc*0<&-jXvkynkeA|yzwqh=u43Mk zELG_gYV=Nwc}8p;ZgL7--i%%JY>-uP^tk;36_zTlftEL+K!J^MvBICx6Kz&>~n}{$k!( zHoIKl@K{BIt2V@BtGXWEA=5>Q&XvS)0Al=ao!iyy?h$>d05UcOf^xGC^{wi;f(pXd zL2L$Ipj2S4!oXKhV9kGFJrtZV($G-o0A4_$zqp#x0va(pJx$AVsHF8>sID>VB5=Hv z&!VXgk%8Kb8cfvSyZnbOGzPK)xhCA0muX3w>)Izq1RV{_Yz(^W_ZNp3$)Vj)>?Tkb z#(I9Vi;%yz;1qbylD-)Z8?9@`6XqA*XTJnFjT<5Cx+V(yu!M z>o4k7amRvKlQ}YCiY>q|>(+7grFt3tnEVE{kF@%@_7X|>ES|SyY}OnIXglzvRcFq- zzPWulX`?|Ls!gG_|7-hEv|yvoqMA)St><#hlOo)>c?;=E_HEzZyR7|Ms$Fj_d*WQp zHRpOBHLNSgN<{iw1k}uh0V!bj4%CRp&*;1$+h^P$Gff%_4+^Q#Abm;7+(m zk;pNiRkJ(ecjhP@SnbFs?cLlO@C-jq&#{T=(Ggr7`4nQy$A>TornS@a zUdt1Izu?c5Odwl^>cN5YnVms8REbnsk;M1k2x&^MEx}UxA)T{Jwujp52ZJ0TlmBh?L;s#9RKr)@t7p|*d z^}Tt8IJh$6=D+)woF`g8i||>WQn4HATVW?*#89GsN_UD5dZ0H|t6#q_F)^=suNM9s zt!(XmOgF3F>(vZJ)Gn^|uTg^=1gji@Rxj9_j{%mpoSHuXh18s4)nt^Ow}WB;!wy^A z5^M3YOWJrpn^%6CYSoB&YGgdI)_TYJbgf}qcx?8j7t0XyEise`YnJqSP!pN{ZkdZo zcN9%PvL(Qc_u6tfVvwrTDWvnOqu+Mug>9jyC-BvBj=1jdyziG0xXp$#2aGZx*|Sx{ zaCx8#u`qnBQV#7pXhf1hNBZymTZ_K#2b4PT9=$EvQG{B%l+Q2KRlsd3hBm>tZHNy2>s zo#m`h!5QznPROX#XGD*at$5y0HOiDrT7EQB!J>lFJDcO!7os>)Ah%A?GH{HugFOTI z?Af%JydWO5bU9aL;(n+7ZmC$j?(#@7$i za&$5qrWS7@ud123co#GZ1rfupPEf07WTMhs&|oe$QbaZyNeap%0SbCEelvcu_3YX9 zE^JkX=OP1fh_kTbx|EhfdxAvQ}Kbn4GuGRJa{vZ3D%kJ7*2avK& z-&+maH_8o|zcm)((cbM|?_q<3L+qBVe|_gp!{??41J9bCAGr{U_kW{4LDx1rkF~vQ zHF?U3J}5b8aS94h*c!zcqPH26>-FxA_YnxF)wIkfrU3ZnOwBGJ%;6E@wF477##?A& z4lN%#Dj!eq956I{=&*ya96cL3;(+8$%h$ie(Qn#(t1i~C?%9On=0hovQ2YnU^E9o?;;3 zMjwt~tJy~S89`g77YBf`cI(!-xOI}2aMQijFj|e15^{zSJDyrebU1eA_GX!WU^^}U z6?R6vSX!|TXw{N{ht+CnoMK(iMetb*4zZ~z4Fjlk0^yF_tjU{-h<%4zq}IFw#DdR@ zc8$*2+`YkDNZ4j6=k{H=8xGUyEy@cHfMWK8OTF3^-z$pjkR_d?Cu-mnedj(G@kTw0 zld5&ciD}VbiaBg*I253SdUp%2Dv=dBJ-YooXteOCtZ{~~L<%HlAlk9QnV)CNbLXZz zN5Hi?{<1=m5HmidlgWr}2UlJ|;hItBkLS5l6ZdGm0{?d}e{x9L?NwJvH_-&N197q} z$eD-#1>%(1xSu-zk4$gfX#Yi4T&=4~P_(U>J(`V;-W<<0q_T4BO zA6u@H>h7s$URlVFqya;^N%c0LV9H7Q2uAh>AIGc1`Xgt>X=#dJ<;unNQ541wt903^P8_YUlUx>+?Te4@0paBHxa1I25 zaH~x5?9VzXinp`Lo)p-p0QZ_xXTxy#mxSkW*~3rT&Ly*x^u5v*m9WIHkpuf@gRg?u zPu4PNMmg}fqZtt|+2BRbnfUm-!Q|0$i@>hOeZuzk)=Cxl8f%A2+&Ygb z?z=AsiFFvLA}J)$d;N(o8)i;MFD=1gCs;t3$k&~1;oJb%UzRq%MRnKQ9Cs~dLnV}mO`&M6McZTQnh00muD>Byz6U041D&DFnr((`NRWQo zd+-hbF_A0k$T(xRjtG~5do9@Pbt%f80+81Lqa#d{PP%U|l9Ro+7|y(}5ej)LZu*>3 z?e29WO5Xk0v)RG<8u*C6xeY$yL6OGwSIKcVh^+{FFwzk2`;q>>xl4^lEvymGD(nu_ zG8j|JHktx##B!{iB7qSP4yUj3Z*Ik74lm3-O+04wLSOPS7p{nTBHP}(w!wF687i+N zlzqaVmj9-PtuzZItJb%zYxl>fV}bm4`@z?@!~AdeAKw2g|9y(z>KE&?szg`&Z2S%r z_pGe000IDHr~z%(Sz77*66aP$%jGhyK}psgeYK&%>c9GC4Ky~+_M28Vc?miJcELEZ zvPzzVSfTkZS}3N4VJ!{;S_{nUVxG*WQ1MDUBN!aI(JWHXD(iU504HQ!`05)ky;Lmw zT|Gx8WU(}I878=5xIL;1yYG;VOz*p~A?f_voB;9t&k0dJQXPx-|Lw284)*`UuOEEQ z|N2ROtI1YUrC`~YEI2EyZf&szTlPV(D34n!E34$W3kJ-p^>4F`KmV@zi|>EKoSIpd zW1u&keo!5Y_WzxG_x$~T_x8gFpY^|=alYIn0Q7b=rmXUGI zoksb|_fU7T|J66*NWUWg{k^;P`M1Px?*2c{r-Y>aVJE=C`~Pl`|M~8nyI+6i|3ArZ z^7eTB<_f~~tn_FheBQYKhkkSSKfL6B3eanLaP_lb(f+^pFueco-M{xa|NAHTJ^Jca zA{RL%mYJsG=^%yNDx}yNfcq&YVgzm3VK=`>ZhiI53JA4pNwRh`Hv%mijp5m0f-i4@ zuFEgjR85ut6NF+0ngxfx+r8VpJ1wNrp7+(QI~|0Dn-=Zcl=?8%I8eCh2L0Yc{%`eL za{pgz-^*{|{{Q-Jc>jNW|Fiu6Nq+x6`+pTY`pX1!m>mNa5GVnAz24_z;J5tE-T%Dz zCEESE2f%{;f9L*#aR1-E`#JyPr}?cWw{F6oFxxI4ANP~l^yt=~;F;BWNA>BjZ0afi z;Szm~`XXq!O2@96>p!Fm(TRYGWA>~E{T3FsM+3K}-*?#c%I=(4(6}1>Th$ZX5h{f~ zSrwrS*yi!Wlj1a+K!gxJj44Yg0a1OFS}Pv79DPqAkUs3p8T#Hy~ zRREo=D~WO#4x~*32P4}0W+S=NyVrY2)S-kKh~sQ9DT}`YhQv~{K_fOC4wRA9<=i?? zT70mW{#F*H-KvHD}}x*=VA|!>4KWw)+2cBm5uz>HR;;KYs3S_$}i9 z9@hLn?%)6H|Nm)z4etK0cdVlopc=I~96I7?h~d(6-a{1MoY%-(l&1|PIQHNK;+!8z zqv{a`@LnOw*4DDRgZv5D$VMv`?$!kXo-w&+$39hoSGu)9r6xf4{a*kP}Ec zPLle+fZ|*Vc8HpZbd&yZnPua}#Ar6>QaaBd(yJj>m#2F!0mF1Qe0`7&ux($|XC=Uu zk1T`T@6mN$5P4r3#$-HgS`#ysDPwbnne-Zx(_y>y>VqFR5;Fn-Fpf27wsqwexoKln zF;u^f+^Hh&eedE;!P}@e!1u{_|NYn=g!=q{X9yRD4KxzadU{CdJ}F-rf^1y-a)9#? z9C{kg|A)7~4()$N{Qu1VeUhJx|I)LL@kIlRak;j#LR;|F2?nb2rLje&X)~=RPb9S+ zNcZT;Cmwg;%7<_XSvAeam!GOeJbH;=ebeuAE!2y{_`ndfodT>?Vn0uS5g-YF_rt)J-|~1SX`DJf`Q90&*g~ z7guhaRsKXrK+&e*<&WAjjBUzBN8QA03a#0T3#5du_+4&EN1gBjwAKgB3XVx%bxtkJ`X|?2A}~Z5}-VSal>PQ zM`}ak>TmLtAUS!62v9LHdZ+^cGDNz<neyW*|Nf<%9lNefoPC_kJIC_d4HzNkZSc-g-7=!FO# zy}}&%{t2{pcCglg01?nb_AtX1kBo*v(HLlO84eVUdhaG>F*W-vQ?akB$xp>uQj8Pn z8G_7X=W?}>y;TdS!^PA=v9H>H!SDenhK$ldc9Oo!4eRe8q&TY4r3XL5S`X;bO8ROo z_YX#1zK0qTgv+7<+qmaLpZeRFeuz#oD9Ql@Hp73V-EEyV;xOCqx;zq4bU(Zp!m040 zixEAEfKU*u4Du)f+ysm*T>@RVL*3A0QeT3DH>a%aEUO9i;IQ9HJ3zl9n zB!)ZPqVt<*ex;@K(oAsW zwxvJAa=J^Z;&^F)ec= zswjFUVWb3edR3$~=uM|xx>~{RpA*;3ylEnqOr{1WC}1m&(nA704Ow}~Q~=Md;ts0l zaZ8vGj*DtPge(#&0Jp@9z>v}rm>aDZ3?ug=Eu~%LTyGeF-Rv|wJ;+MR$-}u>A=wF} zBQOjBb_<;}08R!|^njc*0c}BQc-KQwO4zEbX2s%yQtkaf_BP+HEBW0bSyt;|>s6`U z?X9OjZmS2SAww>L>fu-EWP-jJUzt~4wLb&iEHUE{5L#=K?M2JbZFz5Zrj%aiP?Sxk zgr1Q2-1;NIq-ZwU2z!aJU?(i(NxNZsTjowbZgrL)wk3v1Jpts)dIrDARiB?7`~`@YA7X^B1LLA5H7t;7>#@iBfOQnLOyF9;f2(B`^8pvn<<2<*RXffX{h#QZYeNpW-?#4Xt3z(HCYQsnrW$Cd)i8DEWLKD5?SlGzeEg_h;CB(O7s-FYlwL~; zoG<^~G5;6(f8V=v?{oaeC;2UH*F{M9K>qoJ=GISQFb!|!Q2fBlGCbqzM}V?XF^lFi zP)+v1&=x4;k5feUyc0CXu<+v=YC4=B_6W3xjkX7vE)PFFVsz8ncvr+Q0m;Ber z2=_VQZ37?qtUsl_G=epF z&L-Gv8-lHYfaok`2xhCV?OVU^k`PpnJ!SuLV#~62Q>w_foJMM!W3dfo8EviseEWA< zV64$qQZ7u-whiu(Vo?GscsMlIHMPEk^fN|iBGm*{&}5W}ShTcRbFa?@{M?1QGBN(x zOvrk*ky8|BRke3&t%PbFDA7=(6r_rH$t8YNpO6G4fJN}D4`;IO* zo4eUzW>yJ!-2vJ*Fht_50t5MXBTmZsM?;LtMsQy!R5~@}nT9!kSAr);qfNj0@{RlA zgjXE=mh|MA?=6AsyhIxKBfpdvhaSizdYS}djXtQ5ld~XI(G~ctYq~P&{vyH9S*h;C zL2Lk|lyTou0E(H@lcJF;aK+p7A7E`qMX8&k95ys{E*=+IkO(FPW6dpdz!C1^vp2`* z-y;1VsyR>7aXy)i=)%6b25^D?@9VpFL;sI^_wU~OtpEEIKkNTtP6>r{3|_3aW@UaQ z&krlBS_Z?)60C}_UeYlUW9Nv;MI5a`b3h^rI$BVwO7ZtFjdmW`Y^Pa5Gx`6AMSTgi zrnO)sEpkaLfP~tyvvLGqV+I6vf|^wX_zwBcoksK;yHfhc{$SKXZpHt`9eE5nG;M}x zvnf=XXu!U>{ipd`bcyc?t&4`}!hUF1nun6&qM7OeT9~;!n|{J=zVZ=vx6QZ1Gywbs z#_LW0&H9^lu{N`#^G1R}8@z>+_ZOI~_<~X$!wxsM9!QpEH(ahn8qe`8I3fdFn@;Yb z-Jh2E^c)Q7cR&tx2Ld$!WKj1|&Hyco`RTX)vqq=dYC6lP9?!2NJX_K+M1fh)NjW@% z8@wyREgdjskDsP*Q5uE|f$4>xhG)&v_q&`fO}Bi4Dq+y%^`!HM8{r6>aS!FbigHq1l(UnE~6t z1lDe?b$S%x(dI_|b{xf%lXQH{Tss_a{^g2YEXu3d`hm=&9aHadR?1F5LZ_1CX%#m_ zuvt(kse>)eQa{Aj=?{OCT@tdsC#J%rMFx%an`V!I;2N^NP^eA$ccFa|o1~vRS`<#0 zP>R%fT#iA;YD<@hH)*pytsFE)>4N5JuQAKFG`EMTz1uQ`I+vo3fW!(0yKU+zmcK`CAW(T4_e!Rc;&|Mr#~4pN-$; zWidWQS9EhrLoR1!A(I6{}=6kdIbI` zX1LeiY^@97aGgmb+CUI;+OcOqgLCw1vNic%y{7A!6#qU;n%efUR`k-;K4?L!T7K*G z%vtPlLI3mPE$AI2P|=DucgKlg>~ZHfv!UrIdgTBEA6e*3=yzN0;8j)$7>kF*Ld~ad ztQPy~+XTt{j{78J=JiNZ7h9&m>%jAs#b{(kb6q9n8@T5H{9+h?G{Blc2Q(NO{-i%K zWX_6m_+}gm10Pu1mV5WazVi3nat(^^zgpvX{lBFt`vjK@4aw?ztnu>A_`-jX^lrWx zf4tqgI~${)&#_s_rIE%bpcq4ml5F^=sF)kez4ROHxT8^e{Akzk`M*vsLdh2%g6KeI zb^e@NC*P~a)+A^9X8wlzg!d9SDeyhA^ujlH)cWe1>SjA!*aOpuV;C5_z&j9#@#ao= zf2mqY00)wgn0Q@`@TlX%T=81NhYw&WwM?Ilgi;#rZvi#??1u8Y{1*9tg#5~N0>BpFe>}W>_v_IA zUla^mxs%7C0T_ zGT~E^2Zuh|UGjuj)89Z0M6()JWH1^jIg8C^SBj!C>HpH z)089^=II59!g@ef-<$tjwvtPVPL~`g%SgjZVxcx!t~KhW7@fMruU9Aek+m#oJ9Y4l zD;)dKI$3j&B%L2Srs?xQRCN_m;0mA2)zB+E;j>Sid0#lV>j9Rk5VJV|6AQxB6l%bx zG^d+vLIV@@J>b~4-rMZ_F&_uok$8_D*%-OrFdLa;Q%Wk|VBZ6LkI$3(hkVX7#4K%U zWyD4e>C?!47U9zfejb>obc&P`Sy}7-X{86hang&ph!yoax_<(V_FWT#?@1b*->s@J(EF^)jZ0PFz$T`2OtfN_? zr*2Tz-rRX}cTK%oZ*x;SkWk6|;m?@rdFQgTe%drbx`w-N?u9kXBg*wsBXkYXk)=+n zVb$`^VvrQ&uP-C!MGnwV!r6c;!rHHZu z8)?$NeUjNSMCdvJBEyXSt%>*n9dx|8SO!1(pc9`R1hTH-3x}A(a>L17)aH~_jf{D! zr$vPD`SF(UYtY;@#Cti^Q*cT7LinS6d^nm7v&Y^-^*#%=KYkCwvI`M~7ixjrn8*M6 z91QY*`?o;;|0oHe=F9((>?6qkap&u=?|#nz`AL3O{)aHV%l{iM-bF4%s=smeoJ)n%2gfc*J#;6((s>Jc3 zWCJ17!Zl{NC44VnEhEpRP>q$16SiB-~J&z#kpdZcaYb!j)Sq4J~92b%{1kuG2={O7JH*m`&mI1yv-t^CR>!S?{XGCSu;U zB^vmT4;#dnGjwne`Kp*rC$r{p<1_$^+EiVmO{z(zk~vdK#Us|&ZM;+}r8_D`vy3`d z5}9TtBQ0^#i@MVLi7v-4O;%8fmjA_ReGYt~&n5S_S82%aMC%JY2;FtFDK9MLD9D=OKmipx*Aaf$=`tzz$c@QXFS_=@56~uFtOpQ znoIc4WjeuNBUbtr2dH6yC4kyMh$=cXOeVx#jLtS*D33ZKJKJ!#Ws!h;FJBtwf-C+uT5y4(N_N&`Bo!?);Z z6E@1iNHw*nXANZ)@lt?Hq7yyIMsz6ihMgpw6UKl#ODhNLZswHS8nWS{o@}(WCr`aY zK6_bzzju2-=1GA)y|}P2w+&N7Mm+3tn6l79ZXv054!#zcxe$8Jq*VVwm^AElZRVEu z&*+Ma$Okow-;UhmeOeIApf?|5Z3G?eozW?{l6!syZhFhZxsf3cDH&a|7FX9g^E?vVy5*8B9|Z@NDtlQSTxO za+?@8X+1$pC-99hg30Q8R7IMV0{8eOj67%Yzyyxo3?!C`lTh8-I`HHTsTKShUzqz6 zVKI?+S$(fQ#blG3K>Nkks~nd`s|2yYi$=%}|a+iX%6?{c^Y%(-LaVIu}JXn+^z%G4Z$0D1qTw+AF%u>rc$ zIn*~G^L8{dcR$JR7D7Ny*Fphl!KiX$=tKDixXlB&D7d&`M9oz{t_y8kS;FY~%~NcP zbR;E`xY&tjG$uB&vCRwyAHd1v!;D-=1yoz8G%CrM82Wv_=QuBR)@@&FmxP_Pr)LIr z+DKJSe+`d< zUnW9(jAzAp8BG!VN}I;HaYMPN#uFA(JuVk2f$I+eYcYpMoVY~ ze6=XBM!XK7gKV4@D}VjZSxRB@LvML1S7kE1@cg=jU{>^IlT2xWr-^M*JockouzfL> zi;_2AL}_s7zGFMAp1yLFMpE$ z-7r>L{^Z6{(KL3=IcHi3gUe$z02ZDfMaC=50Wog4k^W81IY_)}(jlh`7S=tC(4C(B z(QHI_fB#m#2k$K0cef5T;2gBc?Bq)GI9XE)!Hasv z_eJv`@yL}oZ4XD+$IhiC^SQLKE$Qj&7 z8lm2wfh+e&J1e8Epj{@8`MC9a1%No^pAp#yr@Tv7*KpXn9r=R)M^?lrq=EgKTQAz? zkR#+`W#Ma388AB$&rf((XG~mf6sxLs8>_b4rpg8t4|YA4Z{WI!0dwHR`h^Xag z1W7C`s;0Um7O1OwQ$l6OPP{qfWO(25wzt8}MyUf2<*R@8OBR#MY7=$l9-l9Vu{cjK zQR_)My-XzuDARe-R3JSr-t$#sfn;Aa6vi{Vte*HOuD7VLq+P6zfweB_7bKUPd*b;+ z>KH;e&O@dCa@lCN*@Ccrie~_IXl=NLNDlZ(U1!%u2Pk_e3(fj8QbnmzyS@Ag`gKza zo5sW7)jIO@cCAn`b^HZA&~pzR(3oIOvX46>!+)GlmHi(F)Bh8U|Nfsv_J0o^tUdf8 zwEtUQ{qfHJ?`wQ2tox8`=EI($g1bokI-3E>-{ zk&3hg1n+Rha2Z9AR2;-lt_G3WyWY*Mv)?^@L7RWMbF)1m| zjba7v%v=nKrYH;Kr0SH811cZB+}rQ%Zyjvy|FZS0_v_yNvjc8PbR(RJK;ILF4`5q~ z@SgNEMjo0EKBBuvlPeP6xnU7SE~yjfAh{8+Ei`H|pv3fM)KXx&sjpEX9JjG^TIpv< zc2Y0#)yg&`mpSnpDJ(6TTawwOP0k^(I0xP-u_+E!;nUl@`830L<+vCa>PV-f=A>7^ zYa`(*dv4%#=@Rwfm?deLSq^a9EGR7I0DC5@$Q$}L9FFB$j`ql6;+T@e!35Cgk-?(J z1#3m*2P^QoGs56xbL?=Ga!qjbVxV0D93&hkQHzhJ)1UN!AFaR-zyC7fhHct3rcBHW z(v(sPcNFq|0D7MUM2RQ>eY2-h|8Q^wMl?)5>!_2mP(K~SRRN4g*iskCS=L9=c7QTR z%n7f1fdtXxrZ!L-p&;h>G}tNuo9J0*Su2Y}Yh@9zH=k{RM3I6vge}*kPdN8`vwGhzXPIu$^nnlHMyQFk5QdkOy;%9pJ@Ro@?LkhX$a{IK?(z ztmx^y!hgIfFVI%>mN^_5OVfCcgBoNLGdq!HP5+m* z{1v@Lv~}dF=#YO~*m=6@BLm>)GzbKYyBLtndF%bPIzM`UOeZ0xcfnjw=?Eh|prVAf z)xzay!DXxO)#-#(|BllH12K^l$V_OYY)(}_S+4J5K^GDm557@7G47ovH zBU@dJcF?pjogA$lcPKblV+CDTyKe{IuQcJIDeZL6Sy4D(1YS#Xqou6tA$MiT>q5@~ zw-E!t3wIPXE^?f_Ls((gg7>9P*@gEuK(#kbKo$=es}Jg8PfR*LqgplN$IkqK=Sh2Jw^^}Ziu zw9zR)v$hXM5{e{ugR4<;0Yp(mKF1-j=QIKMAo?D5o+CgFCM{m0G;I*wt3e5Z68NPc++UM1Cjo~kE^4n2AHG* z5odb z>rqTe>xxb5Lw9*jmx<;pk;8&RhgU8!q|AXdT*9nbUb^R~8b-Sc+p~T$LJpH`2FZb? zt4}5QGO{NNx$3YE&A{STV0|0JcwSL#N%N3|`)F~-E*`?MYV}nUdN72^oSmH;c!+e| z&Lm|?)@;N9Zp4KQs7(_$IX zXDNywPDuFxD6XRAJ?{iBi`x%=+5%zhFm|za?IgE#vJ*3H6wgZD0)SEO)-y{Mt!Lhr z>d|K59^$Of&tO(eB-O5tl+eX(in=?bR^jgm%1yF<#~nEDJ{mZGl~mK3r*+nQs&@>9 zde!>@kOl3afm^?D+Bktqu#d2f0~0N_Kr94PJR^%(0Gd{%PbaI^qJ$6WF^2u3ErtvZ zZfQOoi*~cKKBH)IbzP}}yU*p+En^GZF5)MkNs4p=II)L8ULQ+^u0bg=a==IYw83vI zDQAzb%UrYOQST4eGsuQ&)Nj2=KP4C%z6-;E&@U^41(}kv+{c|!Hne8aK~xsWc} zokpUc8s#>LAxLP>^!a=Smnx-kHVt=b?xf)eHH63%Ar0<}f=G7Y?N0K`>L0fZ9On(9 zi{pju^TH~|3=^&jZ8PfkO-qq=YNx=z zr70W!X)5UBL&42~iS?!)mxZ0hT~5gINJC&&hAt_h9mJunP5BzM^mih;T=M=;AdSNF zHHS`d4~bu_Wpu$f;W?idKTMm;hU z;0KBPyshLO>M!0CPeaV`$M;1TQ6#cAN=4lLQN0irJNa7MQC9{^BnRW9naxF1X1v>~>z901}`3U{^iN7J45G`_BuP@_ttq(^0 zHtOgbf|d#$G6u=yvn2(b3`p+O$ZS)?G&ersK~{Xkj@W6X!9yvJN`As!k5VRQte~jt z&evUzsuX-tAUOwa@qw|rAeq`KMe{;xd5^7j5TA&;o*y`>bZ&z79^z+U7FlA+B=(^- zS`BsV#txwfd4Fdm2)d=exG|ho2LBX@)vb@yZrAB3vN&HnFVuCE**S`e|0Yufz3v6m zWgb;duoGim)&wTwu@GB&6Lr+jKt&oHM`9#P zr-ipX)-=x?-J%tv^FS7nIdfQqYu}sF51FbkHUsC2a?&r%?11fj2N66_j3a zcovvg?qq2@9oXA>kjFGByfUw@4%lJpkv5mK3v9%bgFIMx_RfHnfd8N~y`(oSBRD(O z<;ZX6mwBppCdbDa4BTVH9+Y%kGbiOY?R%t5zHErM7)Uq_XTzfR#GJb2A!2iSRxR2! z^X%zK6+3R5?NZDpX|xV|mDoAATR_MCp~Emv`l(^?BW4vEUpr{hwX3i&h}{>hUwF{z zkciM};$FQOzq3=xYf^N(dU;v|h74qR$tkL{N|_>W8B&o^`ZrYor7+^bm3%1N9{AM8{!_FZ_XqotiBf`0|-xhGJ!$xzMc|E5#Z0`UO%jzu{ zg_Md7LHAkY7@FQEGABV&oh+X_x6#z%WVxrpJqNlkx1z-(l=u@n8cQ^iyP|o~BeIBe zGE5escGh8ue1hBo_!%VmYt)uo%99Y4zPQZk5O+Vy!oj}g(=3r#4{q$!Wp<5Z8*WR7 z5DjHhSzQmW(6tYSb=Xq3OU85iu!cQj-)$gA0210VQq4Pkx3Hg__jQ1ji{mQ z0+njkh83`KY!}D@+%Q;}loUJ>L6o~@shY%FW0TMpTP~o?q@{`!>J0ch;NS^;ZANw( z*^D-5`g>$$ySe}3mxyhxiEt-&M$lthNs|DzcAE;+yp(?A8BO-~$IeD%D=P{aV0jjW z#y4ZK1cSZY@|r-tkskW9F-eR5EES-n#X?HW$-H8E{8%+u=S41ye#bhbes8252?XSv zfsfg=u|^Vc{MyS$y;C5m;j(#L-t9P}fOZDMv?mu(j{)P?h?xuk{f0H7GZbn%XN`OM zMiY$4A88d`5L=24)$%7g2yTEW7Cq5%wa@LNTGc84V=enCy16r?&!sa(EjELQ%oO*^ z+PLa2N%NkXkb>>WHJFY1`2<4}4X-eQ$`FlxbYLu&B=g#o2QWYL1>iMcHKvZatU+pM zw)7A-QO<1$2}c z<37;oV`9<%^pm>IuT|a=ty8DKtMjIFk$gmABU9h02QKW=w&Vx?3}@5y0z0735Gjco z(uJlvE)^#Ca#4<=bF|U_JqCmW*rWXBrUq9^t>$eL89D50gc*Ht1a%OJX~AyS1x`-@ z@UflV4$6Uh^6GK*N#T37NUj=o>8SIc?C%>rd0p!Jp8nA+!Qst8@oE|p*#M}b5&4g= zmy1KQFs#b`iHN*#EZ$f?gO)(ncS&d~Z6`!;{S8}TN`(KmNbML!cd}hMK!vs%FMA4F z^K5E36l(BY1d~Z`?VTI%w}kN3Mqox2h}RHy^rmvEenvHYW4-H_4&$mpf^qc75Y)fvA;}|_rlu?mvEkzl|~d@LV9zA#g7BupgHC}Wm~P! zHS7uPf^K8!^W|*}li#m;5x{&^Iu8U*R%elNu7e=rOpDndx(xKzGBz8up^RucaR8ns z1aAD0Y#b*+Z>f2Y!rRgo zWfwGC@0OSP^K3-cQ$%r_h^>71jY!FG*i2s<(<%uz;(!yL^{>bd>l+-fI?*zhh}#Be zX*RXH0?pz9sloZq$2#`73s1tCQ0utO{DV$W_Rw=?k`fdaW)n>ln`VNtp}i4N=!epl zBO`F|?`ubTLK8>Un^MupsOMF7UrJ-0{?OY03she-S#3P2eVi!?0B$|8pw!nyi!9a6 zS_N-mf*t?%(|k4>bZWQTBU>NR$rU9E!H~72MDjeve0hcT)uNufcO)!Y#v(rJsJH+O z|{vZNfM6KQ%hO6n)c!1JrmtgrqR+rG-hC!DsQq|L7?fm zy6~uD%Q;wCJ!K5EOCmGwPHUX%!*ZD21R43;Z^J;=8Qz;L!AGns_IP-RtOl7-Zie_X z!H`oNidmnOmIG-bs&~201JoF(rL|;V3Ww~LxFqAYGHubUIsIZ^%|UOPKQ`d}xI@yo zBi^P72yq+_d&3|rp&P9ZU>bF_LRfg4|U5-^b> zilV55d53cfsTts<3Mn0aTuo4^D+k*zb~g{->~D3gV#uOCLkqdS#d==IK-&>REaR1z z73XQtHM?e|Yp=R9Pqp`(0{WIO4W8p{K&Rv}`Rc*~hhlK|f@WbDiNqOBfJZ&2JHOMV z1Nk|f*Va=ez>1N|JCgBuUqX5%ynTG+`8l1USQ!{JL2GU>EGEjq{U(eknkAD~7OlTy z&;TQjjz{I9R^VLXj~|Mp}rDKFN(d((CRWk8z0B`-2xizcO}&X(+E46(V3IYUW(qLUV1 zt5Y`ux5Wu}Na3r07M}lkk>GBL3l^OJ`|CeG49@=#Sp4q%e}zvhrLLHWdI*83*l2Vu zao%7#Xb?)v50#}DK*_QfrC7fL)NKoNlQ$UBaP`wXuTwDLlVnnF;h*2-cbejFieFmy z+${VSG2&@{tSI_00rB5b1IHC_JMi+c;<^ENp1aD=!oU+aMsx-LSu@ z9}C2Bh=-3P7+MdCp!BVYk{+K;snk{<9aD{<4Pa#>i^Hg`%!BTOMVZO$KAt zCSIvyPBn=IBLj6rZx>lnWTP`9$@q>LFh9!^euRnK&~iM_G|dR)umq-sX}rDszWMg? zH!DsNB`))&JZAj4caOH&H*3BKxg<7`?Fi*?j0BGiv;0~kS14D4K@hmVZfj9N${pwU zclj)&|J`FPADg6_|Ww4 za!X!1i1mq(-=A*E_*GX7=|HK)YTj?Zb$)fqWJdrgP88Bs8u8F9H1A@-w;e5*FUi@% zYeZn-Y|$jSjfNNB6S}1Q$TTucj)(?*LjNK({RVi8?m+4&PQR`f0wrH13RDvTsOGfg z-<-Zy%vq6A)dhVoC!#AklNa-sidzyWkFk}>fuu*a{}do|}Q zGbc2+{)c(>ksop8{GL+vNl5N-g2^K}VRQ)PJN3iePg^hg6(iCUhlIYp1Ubt%BvWX`Me*4$G%{|0dz-l|4;r@ z(f_1*{*w~GETI3_9)$XzwTBPZ?&$xo^6}{ZWzWCJ1nFdLHYe&!$mt9y^UDc3cW@x0 z{8aM(Ni+onL!{C&TQC$7)fCfDP?l~as>!kdllw}fNb+dT`swhB!+>aAy-szqOz=45 zBU@5n4cj3~%Z*W;@^Lz8sbTg$mC$BL#v79=qTC6TPOCyj2h@MSwrp9QP1V86y*E40 z)b8G)j=bznju;_aVj!nW87aBua?eaZ^!Tx>JSvi&Q@V3A5qfmI7CiZnfa>SiAzG6z z=y+L&wG=A{wv|lSGKwwfJaA^vio8ts|&wkF`2Ftv>4WYl?*Y#XEL2y2=lA{@4M%!@V^cG{l_nX`S^cr{o%t< z{RcrV$_@&h?4rKw#>tKpmf_?$PAX>q@|9Yc%}FmL;zFV% zk!~Z+C%Db0W4a8;D)uzW zrZytWiOq1vX}iz|KX9bd`gbpsi$vh|f)%tpzfC{SD~m7i>2N40;=i~sNc){dQW`g|`3t^7e~ zQOG>3pX0+KuudF9-S8L_FV^U-c$nPOZrP&Vm?J0ApA%-N1~XYx$qB_7k|T=g1<8QF z3qwsNwU&V5Dt6($wT1E869u#i|p)NqUvW;oxjq_QZ#2) zyWRc$Th44Ty+WhX1rv%rtQ_M(hOR@#tB4oAkK24g!Ux_x{vhpzPgL0czCH`~7$i=@ zRVR&3a+YLpIlwgtV?@jYq%tu7IzH;TpE`V5ryhmQo#hgc5Ke@DoZJjib^`U~s4p-H z*@PZ)xD0-{1RK(4S%fq>N~Njw^dp?Eel|^qSK*@h8*VZ|oPXSsWud7zSCPhNoQnsy zj=^e7inL6GI-(LN9-+jDxRnY-6>ILoFV`RciiII&adNU41IvwXP%ShS&kVo2=q-&tCu*h+#@%Rk~{2D zFMFIV)4wZ>+jF@}(;X3ee08-eOsjG_f()3;#4Epd!!v5nB|qF(C)kBNP237^!;pE= zj|i_PL&rVs#@e-% zt>HDo!DE$RxNhEB8-A8Gl|5dM>(bmc9S;JpQ-#n@oc>xupp?2nR_*e#;f>aP13i!v zFAEj4Su&fQAs@TNxAGSVm_bijb;{f z1uYW6ZDJfj{iJkdcFX1{5DrqaKY)Og>;UVs&*4J&P>jlak4>vKE7Gtk$ND5JNbaCX zp@UQIX%~J@d1!#dysY?L2dMShr@#OsBZafxGWJCM*7*c3o$ZUOvF1?)!QCa{cSf@K=^IwG;R zqiCS14bAnXWMCb|E=M<=aH!{~lK*pR`W2g6>klXa7U+NPuRZuNkpHheSiO_~f0d6X z{};~OWGQpc&@Y=i+s}H3zrEf%Ao-_GUsKL&BSK3dPn_($P={0CIT6KLUMw8s<}3@> z(phjA5XJz4#!S962Djwg>PBG9?KsUa!LM7|;AlM9+J<2qomd1d#qGLr3HWB<)F_^{ z5F+3L7^P{W*6r4s6rEfj$awq|p!*H58zb?pljIdz?9^1%C&Hw}n>eHdq7r$FF6Vs8 z&h$j3xjpC%fGfl+?54n$k#xn%-+rs^iT6GH1Y#0{jp=bwh+N&Na**67ZZNqGcO7&A zlPHSnn_qCVxWNmam^@2VjQW6OWX+lqaKpALIi{$zANt{m$)`jwg|<@#X`LzDWi zR5BJMkF-Vp$cehxnYJSxJ6SmFgrB(NAC@)TN*Ho8?eot((G zP9oZ=xoHs}({9zna1KY=Gc4H8x@-18ce@Uzb9gBzZsNN{fd?B&L#7qM+CI6bGk!TV zmK)ZZ%Y-s5r?8VYayBj#pc*?nHEO%Hpp0iW2nF7!S8Q1x79`B>mPBO>iNnt)X*wqq z?*C4kivLcZThf2Gb@h&Z7SMkW*YDpC>AxR-e0WFyeT~l?`Y#CIv-{@N*8cWWxI9-H zZwKGK?Ytd)e+~a{u9WrL5@a6b%)~ZXPM+0h^cL9^z$2Vbz)Qu-q1nvK0{-ov`_AOX zD1}KcS9oJpNED6Nm6aN!YYbIu&8<&>K7G&nEDWKGo|A3sGU=t-bzC)^l;_o z<$ZP&K9}!B-JhdKg5_hU%~Dm4s5m#3bj1i^SLkXLH(_a^d9B$#~Yz6Gd%0OM+2|?^l^j8d(UT&Ku7C`*-q@n zQ{VHi`64}v6u^>HOnF2Eqn$CF52VKNFGmNs=b=+iHn=~dTz!*#c6RRP5@sZImQE=V z9Mi!fLht9JX_7(3TDOMxgn@REOx{yCR~-d7mWbqtji!XO#;D}Lu5~d90kC*ABPw&! z#ijlHB8_Gl`oyqm6i2`V$d3%vo1n5m0pwL3Bo~| z$`y7NiEF{7(odk}D6I7?*sSGs zF*&RMi)gUrh;fMHig5SedBmOBQ^z1GeA)m}o~o|>k;N8=GEB)q=sL$>qS|eK z+NMNEZoF$(?ZrJ8Rf~h?HH=a2fwAI<@=9^JV4*VqS`Jl6u6QH3gQ|9_k3Py76)Ffa zJ^>>1q{};+B)y6VF}tXOcq;i*a<-K5NUTRN5SE{q;}#O@dKVBp=hM_u;L_=s=YsC;~l&o+RdI zDV_4%%jv<`D9{{g$#-j^3i0@hbbIuRRD1NTLaoM7 zO^doU!{NIP!bErzB}F(9ynH077jaRYelpIcl40@GO9%Eu`l>4(eW$afbbxaiC;e$j z6olqKEKq`;_l;4jwpT0sbT$|RUWY9&Fh4;u6hN?BW*6Fy^u$S$eS&tgXzHX@W^D9f ztz4tl;YvECbEc3Txp{{H7-ehXdoMj2-$2GMA%I8WA34*?@fX6CobjZA1~7BG-St#< zx(R)a>Iu+op#iDa++5h}pV94gHsC^?sjCgD?6y}Z-a@IfpVx$qpLweRP#$vAfU7WD zHaj^Ltu_{6d+UYxg+L05AvdUz&VsURym)}MF+MxkI9jpcW=FGLIzHZ841kKpKUPwl zXhF92;A*#FkQ*G72>B)HWT6^FuG8yg$pb{U655n&$HkT=Rn49=BhYRi28BAp<#JS} z?9>VI7_gy?@-$Wf3}d4`dUQOO^NKlwUx$|0#sg);0gD~^D9B?r@@G}5D|c`_Ax$qV z2$$i2@kQ0TrO;G?Sc8PZjx4(&Qj!fj<8JLRiIb&msjG*up`WrL-E%Z^ceLa26|m8^OE+qr{Oo{Sy}GT{hG}8O(&eip>3j5jEQrocfppfIW`zH|HuXi6cDrn zEk~p8E|p%kp{>t}tz$Dg|KRH9a*)S#`wb)52Pn5erx^Xll;U720#%$i|E$qqG zNhX6nHEOD+zEdVaB#Mj(T&znl01bxtO=LHlH!Wql;O3L{dhDJ%qr<>0q}gF+5L4Ky z(1kX}7;LFt@A>x5R{$nIYUxqC-o!z!M)s_;y8#`UJv*Ir zirGnH`W~E3km|$XSY3#_yeBIy!?p`X{x9IX2sE%BR_`HDP7&^%+91_i$sh z9l&?|{6F;PR{Z}Tvi?{Y|6^@^wZ#9gKe&tk|5ZMv_)n4w69aVs=LSR%Fnk4~w)|8* zOGa5bR6nEf`J`T`7wHr>NVmI#p`gSeVVL#PQ9;blGU6h*8!?hAl$JMs&>+dj>qr{{ zvy+{@-50(6EkZ*Z7}C1ketY?S<8c@NG{4h2-Gi5V`-f7FiybBH-;d!n%hI?0UkxM* z=30txG&P9FGBrr-aU-~wS z)ga%u04Pu`?{B*B;-)qqEK#n0-ZTR4C8aFAEj1li{+Mqfs#mot>l~B3*3G8MvIi&k zhEU$|SSggR#f_7qOFJ1RY}$CYbjJ%9%HpmtFZ?nlqBJ0Vu5CfaSYukE^9Gc)$n&jL z+`f_)I$~M!q=1P-`zvEN17BwxaZF5+#2hI&43(MH4WJ{Po7@uT$0o76)w@V3Lvw4m z)G=2BBwanCKQbZ6tCX9GZ>BQoc6+NL)*^e#(9E;y;MQH*nlOT|sAEXTf?GuCy;R16 z<(oCFajG}9Tjwd9PdGrQcs83sy&$ryv_nX|Wszr9W9uO}F%Z~L->j9P$_>*pcgU?O z2O(HZAr35#3H$g_ga5ca%C%#Jtg++>Qw)wL1js=SdQeP$A%hMtP152kZENmCQ!JZe2=b-gk^pO=e;BLtRC9-HeG zRhN2#Tn@NyIB)aTVYBBs3GZurSd?;Rr*T!iw!uhDCS#z;xKB}?cJ&FS^Bb5y#J7KI z{y7uCaHN|ds46_*o&IEW^;nL-1|?{qsbXAuXhIk6VBflph6zv1gWHa=RndEo-U$vu zInipg%eOjzr8n+kMdu(GxsOcn6}mUcErZdtz4Gx{bt=0T!$qQTTZPr7driWNV{TbL zAv%d*+|(-Flzjm6Cp9osGGP`>6po}noh8HJ721a3`1`X`Y6i9<4REzLsM6G_$L7+e zL3W*u7O~XP5+HGP=IA)09W$CX)(fydB7Ild76-mpn@S1n(w&jbv(2Q}M>T8=4c89$ z-)!OEDgCH%`s8CP8^`_UU!>*hKi~%VzB#JV!9cLjH+K%GkyH9r6C(RFTL}sC5+xpX z!?AU%+Gf10GJlj@+TGpZyjE;OUg+t0s~?KEjY?Ls=stpHyH$WjZP? zd0KjyM0s3(61T^4#}U!+FKTh#CSPo<7`Md|a z0{s1PXXo{g^O-OI{c{okEU^DtT?^wsuR-ZM`R`Zx$hlVanAc~0Y3}Qy;yoY!xi6vW zfAz@kKKQ9R{}efEPx{vSpH3-mt^e|Q+ie_4I-@Gk$ySNYg8nqG`CQG0!9DHap{ z0QUpk-x97BcZL?bphYMrfd+D;i-F)VDIMDtL?c0+5SKn0XyXGR2xFwM6NtGK)9DE} z^+ZG2U^)J3j8s2JryScXpG}eYmO3qR5}=^52!SLy({msbe@`buO_fp(GKJ1IA)y74 z)0d-Fk%1p~E|QP2K5Z87Dd_CYeoiwW#I@+NlJ$yqlUQ`_XZ74t{P~+q6^)qnv}C;zA2_K>dsk;9?n3%kE2VF zT&czwX!~h1K5P?|9K(yH7@ZaB7vdp~4D^(vog0W4ZZ0_?-5Rj`nD!+>muNN2I2t&u z?RX4OfEMPa)%WUjI4jPZP82yiaTKqWLZ8DZ5{hJtkzg^-bmJsFPd;SOBzpUtPVx)& z5(;2b&0DSu&E&R1F(H}CzQ?|zQ)4H(G+6usHe_;^Zq#bd+O!nqJMKaC9=5-si&>A$ zhPr+`ZGN-Tv}+_~D0i?e9eE9WT94Y&VD)kn(}~|Kmq6=*(%hPIt%+=b>@?`C!+YSa zf#cZ0`E3ZK?{!C_9;>DXF6F!`4p*b=(6U$UON_OjOlPv$tW=4H%NjV^M}^}8b^_cr>6B#?rZAc@`2wDBPiX@@Gy!uYy|glDNN+%uQj|NbbkRj2O&v|0ZeG5y z-QEPvaT{xn2FVuF$3p3$)3271;0H&;-Q7wM=&ZPbFEl>*B2(w6ix=)yO0bc@M5YCC z^^_7JcQ1{yR)JnlQVf+29l0_IBoJQhDlKZUm4@e!7hDXntD}i-ml;&;UZq7u*!*XV zVC0Wrlt%|J$`|$jUUZDnPQONc!;wr+hE><_Yn?^L9yc<9IO2bG@Gbqf)9D zb!n?JFt1<>jW8BBYD-~RF0xTF>@jE~rSpqzuqZj~8mdHVe`zm&GF|&#t=|+iIra3& zMHrJQrJIqmkJTEWpVcM5L}xah<~(g2GC~_zw$*x*gVea@0zg7$7YSJia2e0qe>csrI(cc^};eZ4z4<{}NlqyH7IF0rP8oQ*EX#=QSHYBFyX~w4x zV4D}R3AACvB)@dWX-K~fw7zj(KslU`S^y*nEESu3)0n(+-)LF*Xs3-t>c?O?tTrNhBtj>7ik1PBsM223$Gvd$(VI%M8^ zoNUGb)TcmUsPkcR1$4q7g`X%VrqhfNQF;!1RwUJW6`J$B4!#hV(S{(xT@vI_e=yr1 zw08!hJ+H!UC5%LKlMXET8pBEqX(L20NSv&iLK+VR*rUz0O)>0Z;Skmm5A^K_WBM=o z#nAla9_`%ONIL57T=S6mC^oBJc{^I6W7g~xaB-%;r({Leaq4lo&Zo83@+a!#%}wKR z_ib_g_Wv|jnx7iqd<%#Chfe=|5~&6qU0wZQrA0Xibd&Z;MT%%1jycHq(;W%^wle{6 zO-Wp3|Fn9i179z~Ej548O zKyuH97}4D_raHGM*JR>8*ZihX=ajX~PaHKXBmz6VGvGA;Z|QTyA5#-?A1!8Xe_97f zd5tK5=_5Y5cnn#GX5R3~0H+lB@B_7YI?Vc03x#_4==CJ;V{JE^9*>KH^_VF$DpKZf zh}i%x1Unu%#@KexOn$@ZR*9<6i}55GUM5#XkC@Gn6u^kD*r^`PH2MJ5j(!^@|2a56 zCNBp10pG(oD}i1)85Nh5{tcs`|K(^;FS1(xI4env!nuR~jAs@C;Lf*{Far$~6!QiWRS4Hi5MOc!Db`deg5q=5+*^ zz-b5t_)1mZJjo|`0RdrL4_hJK=K&?Z+WMG9Yy$~2Zl@Ax3X=;j+-=n2RP%IgyE`M+ zt^IU5xr%kGq@m>s{^srB;#Z)pD&rQ+3Nyg2St;3Bj&wNXTpr9O`rc1Jru`XdT8-tt zPKRvLsIdqEw&RE`VgMZpz7kI*Ig6N{hlPdg+g=cs!X8i{Mtj{Yb3fd)J-GBbO)_RS zLU&l|m1HQ2WKc$QX8~f`F^c+I^k)+ESFS-Futvlxm^$q;cJotE7|YE0qDgougqMCF zoA*shPsl935K}BJ5hq@{7c7>`hl7rKmK8|O>TViXJW`UHQ}UXu@28#cgepefrYSrT zEMOBGbR?q*4IG-w8Ar*~P~_-^_I53UQYQEp6IMhUJ8!d7c|mLiTq?d5?aJFtF@V2$ z`}<1fZuanmK+%RSdo5p%R$FVwH_fnWm0d#lexM^}NA>8@%dMT)OTPh?c7^ue<}O|u z!J|>$LK+13zI~Cv3pgE4S(53A*Z+`j?qcabp%`MX7G}?zOqT}m8!=0Zkc_#B(RLNt zW}V@Mv<}08NqagCS1>U-tDE0CGc1JR|$(!Kr#dM|J7{&G}5e7U#Z zd$#@jd7WrodbYp0y>s9^tYanBp4Hu5a3~t0PCiaYjpz6c^)IMe@NVdqqIZLAQhLRF zEvlM)@(-VMc;00w<=2z+GV@42rIR841-6tPy1rrCsZ+uK3-e2agi?QVFwxAW%J?m_+7 zn_WQ0>_{Ie=msgH(Uy#rbmiG7`-lYB;0ks_))xkXLqUm5!+X>#rqip=C?BB? zk)+-JYt%nBt2bU5mecrOK7PU{iZJo|Pb-7;!^&tj9NsXeb+i^N%>wAy6(2e&M*+1K zKJ@uOX^|Z`=vm!+y|a1vd~g31#ba$G*~jZa0_@KS*}vJx>&7UZUZeT`HR6-zNin$Y zU!CE5;5d>=R$Rk&{&;;po_%bt%xT-oXS8?(N7nTBx29DxPtI#`az%OtjRZ;Gca&AF;GcpU{MJVSkJ|*CfJfoCl zwRLgAba^83Nm6YLQ}n~dtbmggx-u)&=I+5Zw1!&RzBTrEy0f*p&tErG?JZEL7c~PK z;|{TyA0yn47z9%5295^v^WM%g<$_tes9BEVAf0;mPo0t|rWoD}=8m8mcI0H3^xqq> zJDX4c%>{ek?cV2ro!E?i`&+uJ8tB>=0wqnW2K!=vYirj7yZ(h>uP`08;r@Qx+S%Fr z)rEWi3*nwP(&V3a-dI0zg8JYKp$iZf_+;F)!VlKR&QMaTiUmB6J1G6!bD4V&{M)HpMbK=MsR%qJBmqcMH-eM zqdu`A=f$-mE6BG6Wk%%4MaDfvj+bA-*Mf+XbkI31tV0gcfi^N0WeT&hlAtOvApj8S zY?@!dlRk^`#3G5WDrv$}oy&SGETV1zT2DU~l9oL}{P| zhJKKQj~Xek*U#Wtx4ZN7z*g`ZpfqH;iTd`cK z1Dm&(@^S9;&-05h`b2d(mR?j(QvW^*@OupqZ7ItD>GrAwdGF8b;~(ozh1#U1=5~d{ z`p)t541_+~LD)URicc1y@(himTa

Bh=l8(=kP>gB0Z}ygeL%sK;~Ftl^n2o!-b! za#fae;`x$!+%TPNmPizq7`Jcba=YNF! z=jGw6os#$`l+jS3TgYf00dbj+&VKTxJt^iIS^#Hj_gPP1A)FNh=r$rLBaRXibGQJB z+K9`e0Qfi={d8+l5_S3(qNMsGgv-(EHfmI%%f7Rk2{R^oyICC$@^VCKbN8!Afyfv^6aK#Z6VqxT0-QacbOUL$3@b?cW_-kRmdo)!>0(gW( zRLhW47-;LLj^Xwk1C@m`!R1dHa7;Y-U+;SjWaZwoy{_8U>#dg2su;x#9zBd_!db7y z?%Hf?xtmW7E=IZ*w~6uQLUA2dW3gOX82=B9t3pz* zH>2#M8V{2xy5tJHY|8#0Gjb6jf&st{bD%|y$6Qc|B$Pz8>#TH6#0o|wCKEzoB$gD? z75j@OyPg5`!AoEq>&HHkAP?E;;U~u_)FGK1`nOck1QMW_kozZ3X@0xir+d54w_hC9 z&vU4m7tkyk$X*m^`U*_Z+2u;CC6SC;m}$He*}^#_oQE)+Fh~nlu5uVSN^ z)FbO3woL12q9=DL76D8%=h2Gfh19#s0@q-Xc2P%boz>%(`eYMJV*bn78ASkZ|PqE|D?NY3EzcRrMC6BoM<5CIoVj-M>&&XQbzVmW)W5H7D zj+a1TxkpO-<^3=0Y;ELOVG1l3rFmLDzJlPb{LvwcNn{v z+;LnwmOaj+E-~;9Lb+*t=O)XbT|r%`EMTcHZYmt|Z|GE7ILptj(8LK#5F&4c;zouMg%b)hsv-IP* z167l8+VH$ZHR^6QZ&q%X{=KEj9hv!IU!qyuCAaNoK|*gYO>lS#W^4xmF^;bq#JH3M zV3Jdd-nnFmjZ#7H^l!}AL~(`Ohvl}FyCJm(zK0ShG* zo4xzhZ{pzJKTk$yPME{xP)lJYK7BY(K(1gD4)HLVjT)K=YAGS-^c0L|C&R4Y<8C}Q z<(kS$U=0C9Vdiy0YP_0N*S_RlLtg=#^+tIQJJI8~05);3NL{?p`FJzwD^;p%dYJ1! zc6yJ|Ffl;GB-%l*4?d6vt~J!hJ~voO@Aqjpe?@ap)h8GdPtqUiRAgdG9dfpg%k7)Q z1AHtf9@7Zf6^c+n1dqv;ZGwag95)ZHIZnXHxp5WuvC9;gPQr|| z;9Q;bf!M?*B$lL;*W460^Wp+{Z&G9XW$aKlP}gJ%NN}Y8XvleLuC(g)=1sR&u8HY( z?=@CB-(ad;RVQ_r?Ws@x_)Q}HUUO`Fkjvy5CrYwnj$H_k9#Kkn!snPqgNJF#hpC`v zCLF9D9}oFvg+2Bud5<5B4l@E_XgByD{0ZT64#wnKB^~bgO$Wve6F9Y57$a1*C)SvS zF=~DN-JramV$)Cqa$lFz*#mD}yD5yaMZ5DXzZU{m6R%Wbx z!5NGI(*uc*nn=_U6dV={Lmkl8qXg_a4l@R4`v7;uikU;XdhCg>yb6Mg6hnWoc^oET z*OMmjdz$0?-hCxa>X!nj;XwLU9l1I0_1CM5<7PCc8^^;P6+JXSm`(sWG|V@Pjzbb4 zL47=G4|GwOdqkm>5)DIjT`T&7LP3{uy72%2tH%vQ$bp3y7%PLNg95f{6XUL=3LO(4 z`fqB50}+j87boe2%p&!{U!k}do??VMyb(?n11(ROskcmdgVkE+pLKvC$r;5F&^Sht zPrDdse&e!wNW3-pfr(>--KAg!zijOvZ13%=p8)ehlQow;t(xL__wi@WvBia@x&99f z2*NfgGTL{7oa-d93CU@*=W+8kZzMmmCzJ*3$wc5(>=c-U#A&2ZI?{ZhPG(b8Oi}L6 zQUOuZi`6Yv5^e$iR8XWw?N#c7j>Td7!ZTawkzQm4+3FPibd*f8ys)i5!i`uE%A@(eeBNsJX+Y_-bM)X zU(J)=eZJnOO8zs0Q~!13KWjg%{dm75|9SA>PX6;XKDX8X9snje$v?W}j6vjN)F|c7 zNgGn69{_s}749Oy#c6@%m#OetQ@zp}0gN<0f|65~Iv6HPzhVPSBF;Z#{j?253$lM@ zP+If(23m1=xE?A@dI+&cBWXO(bJT>8I^=ht$bhr1ox-ydcyyBdUNZpKn`Di_(G@W# zLpDsg`GSWJZ@LxDqrQ+D#Y&CZ-&Q(wj-VZ)C6?_}VtLD58#_bGl~RLgG64AVhEc%kDIbQ!_2teVKm{g6ALk5;#ieV zXC>7KJtgUuz>|co$zZ?=twisY7BfON9SB(li!~|vGvVS+(u@3qRsb!tI!un5ZQEPn zLkDU!kf&nW1p{jK6E?}x={=x-6z&_v2m%hyE70(GvWQy*VjhRsQF|ksjapu|aQV=j zW0W$iGq&aqHyLXz6DHJJ3NvaDCG34{*U8dUbS9v&t)3>r5EW{k8b5f0mbf@)kF@xAJUp*O&sL6Rdbh{V< zycVfjjFR_h4-G4A3pPx6w^Sw0$va`CVa-sZIzxFbAs-42>uyai8g_XD6vm2P5SP@u z<$_ZmG^Sd#ew zUTo48I~2v(7o8pGM=?^W2;l3 ztpVRAHsr9AYsp$11Z!vy5v`(cg2aaZr&;PR*?a4spa-h-Kq*bu&D=R;2TYQF>Zeu! zI>LMlVmhkdcDz);u};~f*Ipey?zQDl_9DCKc5CSG(5w_gco&&CvN+e6++u_p$mSaE zFZ})#X$O6BE#kP%!E|ywEJUZVHFVGv^j8l|>~i5rXOLfx$UL0mH8Lr1wAubYz2on{ zS+R?)^Ar4x?~YNp-h2CP-J-mDuTEKrR(jtxI^Q){{Fc7?-Zb?7=~tRj+kSjT^+aMmxE@L7^t95 z=993{Z>Hp-NAUH74gju<*U5`XJ{$9~7hps=0A--Ir;?S3snV33IyFrp9$bhykgTv6 z#B{*eRGl*QgA~#!x`?%y;*u;2=h+#6p2BdZlPibrmgeYAbb6PZB^d`bH?S;{3t$zt zHp_C#>pa&~PZJQY#v;%C9>4=KrrQOe0#7D?PBqKiI3x`qPKTh;v{0={ z-9W}lce^Et-!HZB@V(8@KGnjy+cpEE?Ghtpn$e?anLP5J*<~W%nn9Oq0Zn&ncB+zJ zqDFfOYI{%s7iXVZsIwfR@LDvQG3}+jJRWzU-#|{}@8wLGG6Orc_!(y@=h3r3#NDXt zI46dY72Pj& zc0qS6TWWWQ+ZmYEdqy*AW*&GiJhs|6Li>W!hApdyr61)N40u5g>-F*!3EFnXIS0`q zXG7?UtdtFjMJZdP@5KBNuf$IaL(^+q5uxjmf5r5YW?+bBP3o5@Y37r)*s39GIaMiX zJbX`5?F)yhNza`Qs~bAiS0j1M5R13T?o(6pEyb1fY?4LAmd-@sT2llmA!@&F?(c5z zzUaa(CAJ(UL8g@lrItU@WWs!nfh4@?!h=++Xq?=QxSqeK3O=FF2cXQ{kcK}`6-#pygcM2#~d)i&`;(~`Rd$pB$VZ$rd z+2^n(IS@FPn7GZ8T*A*G8uOy#;UJ|v$RiSOO5V-AgKBmQK`w=>Vzv-mmQ>893ww){ z_)2}g0TFe}wKT(4NZ9l%U`b4eYuYwRVT_ly032rT*%qxEP%KZoZ=dCTRzwqaJV>W# znpC{~E26Wv)M2j<%X|j;s6JK8I1cLATQ{NfvkVxHVSd8hIZbqy@~SE8VPTm!9_|Lh zIKnIxy3EbWcQum(iVE4JaQO4uKM#X!0(d8%TsJ6@aGsO`JA1+b47aO7)mzpd5% zj>Wg$or(WH;HOIeD>DB-MFqUT{(p7#hm!vH;hp~X>wG+2uQr0(P_@<0+Jnw&t%C_# zeoybt?f=wI#rglUOh4!||NO77-(P) z!J?tvq=O`WYaj&I2#}~Cd}yc_8bWuJk6aGzi3P30O$8ImrT%=TCg z*>y{_1f*jU@AHUZ53tXnWqd$0KO+rnAz`i1m{g}9bo`t2{Efsc4g}4Ye7Z1$ zH)0`KAt}Xr4e_z^{I1FwyWIrqz=~KNU*?3wY{<1wQn<8=b6#?J{G-jvn&zP9ui45`ymV-a%D0CP^tY6qF04Y7nPD{_C%VP>ffK<=?t7ME!Byd!iHIJ-+sAoFv37bKLatc(h z)!K(O6iU{HSuyo>4*RpwNDR%~T7+2Jhu+g)9qkIOJ^;J*D!)vM^CMo_YqFxi{xE($ z2K-86v#|@6=)?Gz5#l6N(evU8+sCZ}LvFzT$5_?Hz)x^4qWBSBw8+=eZXXT6teSpc z!vnleuUZ^+!}V4|SE%&Lcf7$Wen2!VLV!M@#vguNQ}>Se$Fa_id*f6piSnp|Tl!Xl zJ!dk?XPc}gcqOz;kJe3^LoIiyHm$h*>eFiDx{Cpgm{*;{OPmjtal`IiE1@s-ZDL2c ztV>hm5U+GcJ!Lbwu8uOQb|ial$dooBE&@;dBD76E>D51(Wy4bKR#>O$V7)lhaJ@G%awyD|%(9M< zkx~?MvHH{ATsRBeQzp0g=p}``bYhAm81R8YQIh?FcI9<;6I<(<0OZlfzgm*Cw zp_N5H8HxF*bt{FVeV%-<)V&wR2#)SBOVE-FTG*7Y2DY4cU6hU^5BV@Sow^q-Z9;2t zgWv>>A_OB4E)YCn8aRROrxR+xM%1Smq`CMLYw;@_O zJ_7LWj0iIDt^^m&_`Pg#=Su39*BBj(bBV(p&7Q38E{osMRY!zlQaSOOG+9sP419p1 zv?0C6PH@DamaU-Y7Ke^1bnGDoPB0}JrLsaIq9B|!1xHv}uR_$x2@5o}-2q_>y`&T} zhhk*D!R=u@x1AR-kWaj^s4LBzQW?!ak{Vi8#2YSJzW_F)d3L;Sm36;WE@d30XU#5g zy5=Ab$LCz)08wDH%L#^u9yFpL;WPnLfo8)$sr6=TN7}YRo~N1&p1altROLBr=ZX#P1{Tqv5t2%M;8VJ){TMXbPiLq%PI#xxu-Ne&P8UMM7c17Da2IVvp@HS6yz4EfR75dyGf|OI&?`e7{pTSkv?Z0}CGe zPaZu|&gpJ(A7cB$mT!~<0FPB|8PG)dTx-LN?^iBb80FxmM#&6)kakaKn`(cqN$Y63 zV@OBmQJiUV3bd4VH?4r$uwUJ=^XB)$)40u|9MJr9MNlCGrxxw0a_9@DGsT74=}i-n zBt>_**1T;9oE>V*&OKYG!yRxe0zm%nNBQN*(7CJ>PRAIEfEb({!_$ujnG@^G!A@o5 ze#%A=BErd zFqa306B4qc@fI}mN&=CzTY%$0HA1y534?pRu7ldhMA8Re@rY=;_VUE z>w7U~#2TP8e<2<>*axx{wZR5xs_wHf;UjdSNe^AZCuDR)O7XBFY11?4|p1jmuO+JM<5 zsv{EG5IGECk;Tm}({6TytQcd+8XKrcSP*00z+uO^6j6^YE{K6N3jG}hQs~H|k?{6J z(&7=-7Vi#CYk>u(w=P*5BZi5Rb*wq$vUAQM_YnJL3{Qpg6no!T+re4(V7LSK6&s%Y ztrLQQ!o*Qey(91L01KFYTwg2w*SVj0YE9fo_k3t_8Yvr`9CIdpD%(k;Fr6gX5LbMI zhIh1&q7Uk+4OE1YKw7H3*0g<)0x}(DxjTFpF^9(;F%8flf{2!OPYRD3P{TI58ihjEOasVJ6&V>L{!5R?@@M1zZZWSQ$tOqRse zgrlN_Iwm;>e5a%H&1zFyysKI>u%X2aGEneF6LDd*F^<;u4IAyz9C{>TEUOF;p-6ds zO6bA(ag-`?@I0%ejNlg77_37=^I6g&ImZ$kW$nFFuqZ*0ExK*nd!KFFwr$(CZQHhO z+qP|g zMWyY+Sjikqs#YfJ6R8U3pg?kI+z`sTwkCb4D`BAPqcZ9JY%qw$0XP70_)^HM$}$8} z$LX6m=CmJ1Qg=iQpnR%X^@y~ihw{_~uowCE=K4m^w#{4J%V>MZGc{1J^^pO4g62rG|C#3hP!Z?cFod*QN{s70^N!@Pm$YZ3Onp~_w z7wt_aWclHjRDu0z*Fbuk?RZ`l3|=d>kS2ez1Hi)uSUxw)rt|3uqs^@eq2Xy?$8)9; ziI3LU_b{WG*7cOb89b@)-M5z{TK26AbE($T&i!BU?Y5}?UJ%fac(`)bY$pBH2%qgc zLoz(e|MQ@%Y|=c8d@I>?MON&yZ0ib!P{KaMCf_EzsQ+MJCHGbXzIXV^x-X0U4IOq> zHl#sR`+R<}TcwuOH5a>Js3G;mqbsyHc7Ql3+tmA5iVF%DcyWYY33hvYXaewcN zLCbl#F~fcvh0N-Lb;zOCmhy33h8!Igr%0wtiIf(^ns#Rc!|!FR?f3K1+II(jb4cav zSGUA?ulIWo9v-iDXX9UnRGjSXkd}T#wB#bEsfE5QKm`)6*eTMw)x)&02aNo$lEjt2 zfJr%Rhdra*VQ6v!?&uF1g##PYq*1=S65C7#?UjRb62HF!4&fN7M@`eFM$LuS`tc{w z)98Me4#jr&5MbLk``ND?-|NSJn4>(}zYa9)zwrBgU5~#kya{i1r-+@-1|V&N9-+KK z$5F=kIwa``6JN`1keom{CFuMw-r1tM(4OUVG%51)yFV{cH#;*qyQ_cc?EfC<5x>c= z$0|q4%nG~4VOIUCC&^4tZ+9g?^AdEeH)3_sCQxH|jzYIW8R~mqvk+#T7`NVApv?V` zEWna(F)EFJE5H2DBGfdgg6IWtIg7;TnZd0!jrWz>dMKiAb#?r~Ry~kMfyxurlHIo? z*Tk(FxF9a6XNq*mpY9vfzgPLJch&8HdSpq1%~n=ZTf6DHpDM3QQQnzgGFv_pc4sU- zd1&uXH%=$CjWR<1vBo1WRv_OB>nBhNoA2_ zu${skN1s350gQ?)Ad^g=yg`lED55FFDeYLILz@nH`z1!c+p^^Hkc(ix?YlsyGnbw= zEtM>KXO!Di?wRU7hDs^b##TMR&{X{7D}S)!+iSY=KQ_M=&zdUKynLTq>NyGaB_w4p zfJ|(kpU0OEY&Wc26uRHGoPWmZKVHs-7^lIia}QRfa36TJ zabI`pwz}qCd`E;MNb>eFixaCAC@1=)|FY0V3g~J($xaOD&5at(Qf~~;+jQBvx*|M< z0=}!S?Ek@}><4`_Fk!}qvyyUc`W`6rJhbq%#X7&Iw)Cr){Kxi^IFMxp&4-{6TxkPLj)>0`X>503%_uzhdrr&rA;> zI81*+jQz}g_rS%-_T)bFbXg8soQbdS0s3=!{*Eb%f$W=Mh_1xXOgmqA_idb*7?&N- zw73Z-(s4m=f6-3muNyki4;#MGC2}=pKf#(_GJGN4=wDT}JlPN+u*T6?BC5rbn_qy8 z6$<0|Ft3yu$;_1p_*PLssXI7owYx;gAK9|O7 zcSt2Aeuq=?O0WU~@oW@H6jrDLBabub#A;>48E;RF%8!#>d=KBu8r+*0pju`fH)HBHA0VGBW+(Qi4L>H(`gS72<3hXA!g>>g1Vv(T^V%dh` z^NR7C3@Z%?y7B6biuZQpUw7|C;^J05e{^>(Vh)v?UB%v4~*6Fgj($8r_ZJEoa0oi)QlfS76;#uP#+6q;Qc>^kqoDvN-~ zz~(Hn9ws^|*nwmV4|}21{JI(^azB7ujxhGPsD8ibK+HWPKL*r)N3R+X-@y`%`|KlF znp=c%%9BTHBjWf$5mYs;xp=?jYEah@km$OUXcD7oJX9t3fs0Ef;)@=`rXU4hFCP?u zW0H_8T0hT zb<3s;J!I`_x^dQo5woBmj`#%Sz%eYHJqsM(_0jSyFTn$773)R1?C9EhYj?ysu~QJl z02I;8v0A@#!r3E?%9b)wJ}zL zmtQJGUANO$$Zbg05(~#aF?AS# zBX+5Gk5G6z0(R+IfGZTNTBVVgBKV8-FqOOsBFd7g=Y~0wn%2R;J=1lJ7Xv3)_`lYx z^P{DYs?ba?r)2N#B!>!{mq$FTAj63Pd>FGDyYA?(%805-X!As%uJQQ$yUCDF1Yc!g z8Xij+WY3jL!#8_CHmC6+r57%&83Rd4%(UQ?L}?UD&HV+bWn!<}gwN6GR{t&{dE$_e zy@w@_5>}u*Sd=z3?gK^NR8CS6e3EazB+maPcTzcoG7X$k#3_I|@y(Jc*=(P=_5k1X zZ7YI%&B6QaZ0{*Wo>%Zvby;x z{eo%BSy^1|>D}7l;*|IJw0vJa&%UfSrEc!}bUuP{5I!?4Z|!g?b8XeN!ULWk+}lzRbQH*wH+Df7+uP@Pg-OL6LV3-IUq6vc9fdv3=IP!nNkV zn@M$fb^Wtz(o*rN9{ypIR5+1exomc*L`P8o}VSR0bw-?O4y#;j7mMw1(8Q-6{ zz3aDc&}^d~kWwH6?>%<`Iq{B$X2MERAByhr&y^%yBBDw77$q&Rux>5!MsfMW1O`!W zBaEDlT-v-+UwkTnuxlh{Q~1D07vxqv40YK>vmczbxUa;fN-wWY1m$z=Ie2&RY|}yi zzetyCXE;gc+N2lfbt+6?1?r}IfDkgySc7Ia?NP+DRf{)JQ1o7TZ0Z|hSKm4Rs@9fK~rI52rlLJm2Q6jXgCVwx%28lE{|2NJ+tWDppJUtw? z*|H@EH;1Xj z73X1cxP*mFvfn1oSrc<_d6aW+*2hY}6D3q|UC3IadtpoH|F|BNk=gpfd-wY~gOPve}KPx1hbcgDDo&(EuV!Kt9GqS%4sv0U7P+EX|UX@b{9Gi#s z1e*k2mIPmH^RFoL$SoGE{1^l#X*$!2^Q7zZvX*!^|AcqkDojN&;Sy^gia6Fl{#;&< zOwo~0RR`b>Gvuhu0!s1LvNF|}{k^e6GcMg8aB*w?IJdY=hD#`qFe5aN`8m`M1W-`% zt8HHRwIio%hU!ot?ETm4|IYfM}h2%hpIY3BDtKm+gP?UZ4 zsTA~+q}zwuwqkNj>KQ!P^5T|=QYW)NVHd{GrqiKjij0=#vI!>~R~sL8V{b~4)H;zIX$J}x#W+nU2t>X?v zk=9(i=+dK2J9nbuoD$RlW8L#%x7H;XCv8TW5Jwx7N*R`8RxcR9MgdOnNrmc8R_f|L z( z`=MwABMIq%hyoqbG7g;uq4sbNi}Fwn?f6(DSJ8r*Q2g|HnNQ(+L8IW%h-BfXr2FSh ze8Xg9X+nBZ6`05fgySV|LXgs78v2QtOKg|lSpuwpV-*Pd>=@DNRf&4Ug@!HL!a`Vj zinYY*avQ5qgL+a!{^q~)5egP~q#MeFqZ&(y>Bq?Jc%*9L*D5T+3(Dj(;AD&(MF2{q zR8_~$*#|LD!#I(_{sUr3knNk}Q3_iv1f*g@NQ9ovDIp9a@j6CtkV16olS)}_)E6}y zfU`ehU3?}+J(Pjb@*Av~?q>>= zLXPTDl3Coz7qK*r-$+?B>P|f5Mr`O0De~%KG|B04(oUzyoY|x0%|~`o_>)_N3Ciqp zLGOL~)c|Bj5k>Yhm;%y^O#Z^jTr-ORMZdcC)_O7c>|257Q4{3u5y*dF0F@rz`%kxQ z8X(omhK{EvyEbk3VTZmV8`<}%{P^J|fj!Mi?k(LOS5~=(L==VT4peAfMQAp3YBwYp zz>igmvgg?)BT!6DPW+W5ccHm?3Cy=_^jZAmD5xURp&u?*f?n1YiRm}~M5HQu9oU2K zSeQGqB@tewslwLb$5MfRrQL(InN{g(PN*f`t_^2nHYo)S*(F5~Su)X%=5{!8?MEy} z)u`R>hbuYD_#QvP6Ys5ihWK=WJXu_*^ZYrEH`ucO;74?Ua*#TSWx_unhe=ctw#_Z? z1p&Bk1{Oxkx^BO))-5zvp{3L(Sc*zYb_|U+?;;CgeFt9*5llS?0bNa)^CguSron`h ziffI|Zfh423)souKbx6^+~68=5WIm^x+Bi9|5nl*$BK<^5$%$Bt*NI^)o1)8KG$+7$5`(uJ=@4b9+4oxq-7 zz$Dv=p`ATTo!g(N15WMWJKL~O-cS0xfE_a)=ceqO*TJn$xJ`j1_pqFtOyVB4)VS+= zmvCvV$6tkCkCdVKX#80ppedMk4KEm`p@g_g=N(XL*crn}Tco})zQL*A)gA)paq+}+ zQib#~5ZQEd&^k@tT`hc4tSmz`q@TB+wgLGXUNbJH!AH`klDXw13BA*iN;Q|AfkWM|L)s`9>$>HPGAFU#l5 z5Rr$MJLdNA6I_N`K|TaL#gUYrB24!*>G~;>HrF^1T|P_@GA;t89~lRNB0QV9bqCh< zh~bb9NQMZ>Tt*$167vN$7W@$I%giM6YM%C%b0MH*E1G%tf-JOqZG4vi)r2l*l+AG@ zKY(SoY|q^2lC%gc;Q<7QQ~FS4L5G)r^J*<}a(AHN)T?sF^u`@2%8k?~J%=03S>8;G z#KKASSUdt&^Kd&}#Og|Y+WOd5pZ%GHvx06deiOwwY4f(88MzHwu_0OBziGP&L`;7C z#6wrU-X!gVZV{S!?vkl281e@32)^#gHAu!dUNJDqNMW@L!gkSWZ$+__s^=e2J$sO@ zXO_3cztWoF_HbxMj0OC|FV;OtElH^*h@H#36D4Qk=C`7^pDuT9(E#?5Mqh$ zCx{BNEvO%<4pos>pfFX5_g?0W$83kj~R@hmBO~QuyDJzuZnt* zi%^gC!furhY?No_A)chNhIYX!Hzeo@T{0BwAx$9HFnp6);j~14QDQUzGJ<5gNiK@b zEfcZ4#$w0ad}35P>fWyglJ*;DXSA&8Ei&N9|3g&(I1q zURgX@{K~Wla=%n2f3yL3O=6+Uouu|WM1rA<{|fq3J^F~L|GoI1_Lp+0U~r525XsBY=OWs zbI_dw2fv34&NA(3ji?1&t%S@+Kl~!1R3>yf)0ihPV{`h9EK3C=u6|967(vx0-v~D5 zTYloyel17??^Mn4u&PqSBDKEi#T`<(@ueq=JB5HZV9;YT^qb`7LUvxv9Y;t6pTzuj zY@}P)x4xXK%1d@7h-c=Q&{*ar*}PbZO0-lB-$e7ipi=b$=cUtRJzq>kAgb|2%Pg3D z>asW0$$<>rVzO(R;W`4$aFm2ef7G;J+Y}5YcyKuw==ixG0=BE0Ud&2CP}}?kJn@h3 zVXJ0Z(S3%`3E}6Y)Gl~=)<{N1DHO6tuent&&!4)|)yan`fDcSM@fL5X|r0@m%o7(T_ zZKr1s#Ze3cq1`8D-yI%EN~p!4H^!&NRDx-u_z372gcq$(cxb>F(UXx8>$ZSsKk1_qm90^2sN24{K&FthweOBu!M6uKw<%*(Z_CvnW)l zYX?lGu9$bzP$|SDwh0`uGj=u&k8Z?!zUs7&R^fHw@5YpzpX&E62Dplu$9}DG@83Hx zj2Qo_B4b^Ye%LD1LMpM=HrCke2PH4FDgun)Q@k%zG*X?izpe)oQ-k0f!SnTb3*OQ# z;coA1gx3C1{y!JjLV{GgM8F}v8g=Vhm71OF!)7+B$2O1!xP``}-vj!VtA@;c9!75w z^y%sC*+`K}ag7KQkr4&^1Un@8XnPnsTL>$X~@?gB%d_ri@~f_@Lcp#nwGL zU=XIVQl-Bv)Y2o!km@~vB!X}WUjWzpLqqqzce-Dmxkm4ON%$4v2(VGTHuevk9Jc1# zAP_NKt(Xy})h26poUY^d3I1zK-)3WVAfOpAR` z*E>Dx@NR6Md+gkWuF|r?B-D`-hwy41X_itFsDrs9Tw}PwO0F9(6bTU-hmIA{qx{mf zQ&mPK^o6xdt*jHYf#!XE3)lxP@KYD+WeNM2vb zV1s|X6qBgs+2qW))MQ|>S6JF&nU4=LSXYvVQo+x_bc=`27GaO4nTAJPeYBXI7oCHeE@+72^HY`B z{Wf~h+B30-07_elhxC_uWCtp>L#Cpcp$jBcOL#ebhKE*8cppo4{YX5sT5IgM>g~R} zAz(xP2d{Em_d&z>CiG1cLx_F+dIWrCp7_kAJ67(81^bqZvB`64WsC*aqUcp9h#GxL z)K{b_Z;hth-B!oj^#G1(JI&SsQ=WB($1Tn)--~|Uz(rMLg55lQ%h>C}mVl$~HGB%3 zar9bAz*GTAzJF$3=KGQLZZ&)-O6-r&3T@SUZv_jZ;kDNLWtyH|uWx|m(a`tAa|*fl z3>Yy}91_n|!>D_jr{mnkq(Qk9W~Hi?qMkm!=S=T`3AYEYaj0jjwI{1nt4=QGUB4*C znPy)(;YK|By-jEj5L2=Z{R}`yz|3mF$Y=Kt0`ZZ~BOP}cJ$+(VNt_OZXC)8*m8o$pd0 zh*%~6eNKe8*aF*0{y_RjwEukJYt4r#cYF@P*@yx+s1XhifMMPs24xqaju1;RZ%XCABZBbp^Zm5}>8!Fii7ZTJ^&e|2s)Tmo)%^ zCn|(2ZFwk|;qW<>DzDlR8=hg|9VV#$UK*H5J7Ej()A2LnF-Yj-CS%RrLGH2t2 zO1D}DZ%6glTee4ztN?||4F^P@T|c=J__}H*t4b7Iz+^8tKw7Zy%8BaCIGII;*`|8# zy*#U}ysMl^vUZ6X?n?ZD3OoB4xBcK{eBNj`?=;B*BDX%3*H_3aC0IjvVh?6|r7}!) z+I4-(eXt9->SRblBR@x9kKzF_hsFi!6ZJ0RshNnXchYhYp}v^r3KX~90RKbwpwQj9 z_hR*W;g43R!yeI2_<{LcvzJ)s$|3DEarruYN>nLNt-3k%A<-MYUd9i-n?k=^As_<7 z!Zx>ACAL|5p`Oy1PXS=_s*RVmZs}kHAI5x%-XB%KKw_{AmlM@2v(5x=jlpX|>nACN zH4(0fy^D3AyJtDOq8cmepd&OPblFBJq77Md#QP*B2rUCrl*(RDEoXrXs_F^bXa+T@ zry8An>wZBCfzw!UT$dQ03KdwGu<|is?ap$w3<(-N+6=AQlT%Xx2e4fpeE1MpLxr)2 zKN3z2)5Av+*QV;Tlb#z%h%!x!?TAGhuKG$9g)lT#aMU}gQ}*2MHBFl3(q`g+8hE*@ zR&xqnJJ7|aJwmdim!R@wyH5(^!Q?EHUwhqm3$s}2XyD(|uFf(+B zzgl_lbrxx}Sm!5A=zb1!6)y=arZr)%msBLsR7TKDXQyidd(O31Oy~f(+0hKLR6AtD zlzdHc#Z5EKdKbY4k;wShd0_wOGmRY;5!>cpi%Us5X1U%w(9K?a`o+pC(7#2MapAWA zG%H_vQ$vy}$}-y|6-dE~iZ9>j&_7JJh%mv2<8u;J;R(B4^w$e4^hzbPlIN>k+ZJlV zhZ+(kMPEkjb0677Y@bJ=KeH~u#={XU{8}3ZzqVSeif`AcYFb+!-!Sf^wUL}5Kb~?)otbR?+?ETvbk+|XbNn^8@6(5QAe!Z2HmpoyqZ|Q;7ol5>} zbwMn~j57)eUw*6*sh1tRhL5WCBm;zxymXVK>u5*w@5ykX^JJU8j>pQy;F9G*==%O$ zCL)Ief9fd2lndoCrANhKzWG5+Qge}~h@%R?T`BY)36IB0Lp9<2Hmxw=SinMaHV7)T z>OK@X3cMQh9Db1Uc&l&%;1$xs@Za+YQWj>2P|n0i8CBExU^*{PJfPz@#61*S-Kvf) zF&0=nv?PA6F(K^UR$blYOnfYzLQ#NzFRIrF6mDux`$B}w{&Qxr8$IKvI@6soa0=aI z>ChrwopB0=_ct!D!aHi+jvm1R`Nm=c*&jMkbrp7DW&i=p3N!S)@}dq$v36!aljO7p zF|Gh|@__m04=oICCbNa@w=Z{fJl0QbsVtCGD}XJ@Y<%XJ&bz`p{TZC=_5~$&`IBMu z%wi|;zX~$onUpAV^rjdpEK_ztFYH`$(g6()DzUt1N1d?v!ep9^#m<=%fwom19XO22 zdM*g?W~eM+R`QV^5PtyM!5!sjW1Um*fn2r|jh!6UY(=>)7No~4t!phw>GVSg_MqD( z=hpkV(6%Or>1qTR2$euuhawL$3!$d2CK(nxIJ+yJr7X4~zgCHpf@b?ZuJmkodwr97 zuU4eRs|uU|yaBK@rs@w{je(`BpzNH14!-Z-S6}n$rZOt(?)DyiX-BLlee27fcE9*t z!gUgQ;!6jE@T3Cs?w3a|QPbl*U4-;lsTrUiNvj%RgSClH5mi@T35T%goZUp0=WB-h zI0CpPt?%@{{(Rwf9FF`}6PcP(H2By?iL z*7$uuNWD_SnX4j1iU9uB5zz9eRBvGe^Fa~79&z`K1D8RKq)8w*6H^rKuSj*K7aU;3 z=4#yQnkMRgq?;r#N9eM3(+ccFT!gB(=r4gLv}rTFUgjtm-488hq8WFjxrc98zu1W; z5!Dpl?YFX)pmXR+6_P>KGpR*o03fT#RkgP*2HaLQux;&Ar{h2GudZC{yP$aOe>g!y zm*eIZhmq_j5o^>1X#p(8Bu(En9o}_aw(j)b%j(Bz0sAav>cvJ_1o#&j`79{(-F*B# z+3#AraB~Z#u1~U{1W0Ly?d(W#Rwu6omPmo6WN=O}uDO$gAD}tj2uirlGl3f^l4V>@gDhaB>hjWVoG;Uk@i8nV=Eqt=}0F4q!< ze$&XpD4K36ysjig!^W}StN>{TC&6hnA<-{R;@ke)%v`y=`acqESz;sF4Tj`hahG=)4zA&|6Z>q#J!ED!oSN zMe~Xq@g7{Ue^njHd?OU5gLdgHBt#SezdY#NQ#}pt^f5Zejg;Y! z6*VmtA$m@LybG-?+SN^!_BHrW$7~$;hRLx|%#v!rXZ8{Dqb6V0c7%X8TUs&W_2|)^ zntOc)n%2A=VP0Mv3G6kL+vg~;t-q~E8Y?S+*f=fjmif#M@(sPp=?Fd}_KgrEHN<5l zdk6r_Ur50(Y<%>*z=EmCdss_LKjTvrqk3hsASbtLtjbbY;0MnSfj=F5f8jY0sE;Zd z)-4E18h~7bOOF>WL#ZkPQ03W{l$3BD{iU3VUU0@^P|}PdMIKQ=qrmz zj2>zG$w&r+_eDH7m{<*yxD%`kJN8mOu0$_cnn`UN+~8)#hQ{&`>sZ|a5gmu6NYj|Z z3fsfCBz(X5JWgY%4&f`Ku6m+ZT6s;SA#xeZy%oVCxEb=d7R^A_j`yT#-*bI?^<_r) z`|^XnqT|!^?fvq8f5-Lvp#u0PzrVl$7lT700Gwd|(fuF!zl(s4iL-&RfwKXvndkp8 zMd<$tD>E~|f3*MPzqX7_3=IF@*#A4vz{JGH3P3>re@vtQ^k5e!X9LH7uXi&yF|qzn zeaCEbTun?!Vsu-?Wb(1pzRU1A1 z+u~-}A*97Gh!d%8mYGi4+K^-G)R*g!*lV-R{0iHkX<{?Sbad~&+g-E}?p->i!je$c z7qD@T7fG&3sqa05*`f`F1fj_3@bC={n$V3uVDc0V(q z8Nfj17=Vbertjdu3xOLq?1)~Tqs6KsD!knXNOM!#a*T`6P5JB?ka-Hg%#UA{H2F*T zMl5@0TBMNg`mZUz>!X@+E!)HBy(H{!vUU;cKx9;~6*mGpAh3;5szU76&$}7|@iO5t zYj$YS-PQs%u>rJKE6`VwOs!?k}(YONy~10X0N-~c-_l&j36Cw#^B0d|xn z#W1K+%O}wSO1$UiJu7PwX`xl^aWH#!`MEV3FJD4OgmJHT_3G`sj9CJXJlZ;W0 zI9i=Yj7!zce1ijng@#!9ZDr0mWKkscF{)#=+MET)Ev+Gl(?E`icXQ8@hdJpjZQ!~i zjFB6Mjvbvmw9Gobysu+q-(E<(ZUz60LQob$SJdd7k#2lHieN$%RS@(*Q?g6 zI0gg7DtC`4{#H&;w8QMY+|8NYjXml-orpr~0DlM6d72`n8g=c0mx(q(;a>X|mfw!p zKka~ji+1s-6h(>|M-f&cE3>zCx)S zgdIljNavL@ZDlPZ_af}uoR(+eIoeXOFvWVJ47pRRDXFxPia)0hyiq?b3|0AZuJKh+ z(P(QVUqXef7Y4g_%6o|a-9N8rq}Oyv$`JfAyrx0dVx0cDAnglQNyDLnj=_7`1b=IE zCbjP&Ym`n{m#$F~v9&ZNu#-qz5JUxXxe>C+bCdt-Vv>;TA8qTC5^Cp2tIEaT%jPHa zMZCL|pceBAFslWA@Q9l+jA^@$E|=L*fQ;$7jV3_T);nfGTy4H##ik3f + + + + + + Module: Bundler + + + + + + + + + + + +

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

Class Index + [+]

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

Bundler

+ +
+ +
+ + + +
+

Constants

+
+ +
VERSION
+ +

+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. +

+ + +
ORIGINAL_ENV
+ +
+ + +
WINDOWS
+ +
+ + +
NULL
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + + + +
+ ui[W] +
+ +
+ + + +
+
+ +
+ + + + +
+ bundle_path[W] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + app_cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 166
+166:     def app_cache
+167:       root.join("vendor/cache")
+168:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + app_config_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + bin_path() + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + bundle_path() + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 152
+152:     def cache
+153:       bundle_path.join("cache/bundler")
+154:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + configure() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 70
+70:     def configure
+71:       @configured ||= begin
+72:         configure_gem_home_and_path
+73:         true
+74:       end
+75:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + default_gemfile() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 186
+186:     def default_gemfile
+187:       SharedHelpers.default_gemfile
+188:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + default_lockfile() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 190
+190:     def default_lockfile
+191:       SharedHelpers.default_lockfile
+192:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + definition(unlock = nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + environment() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 119
+119:     def environment
+120:       Bundler::Environment.new(root, definition)
+121:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + home() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 140
+140:     def home
+141:       bundle_path.join("bundler")
+142:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + install_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 144
+144:     def install_path
+145:       home.join("gems")
+146:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + load() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 115
+115:     def load
+116:       @load ||= Runtime.new(root, definition)
+117:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_gemspec(file) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 218
+218:     def load_gemspec(file)
+219:       path = Pathname.new(file)
+220:       # Eval the gemspec from its parent directory
+221:       Dir.chdir(path.dirname) do
+222:         begin
+223:           Gem::Specification.from_yaml(path.basename)
+224:           # Raises ArgumentError if the file is not valid YAML
+225:         rescue ArgumentError, SyntaxError, Gem::EndOfYAMLException, Gem::Exception
+226:           begin
+227:             eval(File.read(path.basename), TOPLEVEL_BINDING, path.expand_path.to_s)
+228:           rescue LoadError => e
+229:             original_line = e.backtrace.find { |line| line.include?(path.to_s) }
+230:             msg  = "There was a LoadError while evaluating #{path.basename}:\n  #{e.message}"
+231:             msg << " from\n  #{original_line}" if original_line
+232:             msg << "\n"
+233: 
+234:             if RUBY_VERSION >= "1.9.0"
+235:               msg << "\nDoes it try to require a relative path? That doesn't work in Ruby 1.9."
+236:             end
+237: 
+238:             raise GemspecError, msg
+239:           end
+240:         end
+241:       end
+242:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mkdir_p(path) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 202
+202:     def mkdir_p(path)
+203:       if requires_sudo?
+204:         sudo "mkdir -p '#{path}'" unless File.exist?(path)
+205:       else
+206:         FileUtils.mkdir_p(path)
+207:       end
+208:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + read_file(file) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 214
+214:     def read_file(file)
+215:       File.open(file, "rb") { |file| file.read }
+216:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + require(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 111
+111:     def require(*groups)
+112:       setup(*groups).require(*groups)
+113:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requires_sudo?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 194
+194:     def requires_sudo?
+195:       path = bundle_path
+196:       path = path.parent until path.exist?
+197:       sudo_present = !`which sudo 2>#{NULL}`.empty?
+198: 
+199:       settings.allow_sudo? && !File.writable?(path) && sudo_present
+200:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + root() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 156
+156:     def root
+157:       default_gemfile.dirname.expand_path
+158:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby_scope() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 132
+132:     def ruby_scope
+133:       "#{Gem.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}"
+134:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + settings() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 174
+174:     def settings
+175:       @settings ||= Settings.new(app_config_path)
+176:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + setup(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+     # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + specs_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 148
+148:     def specs_path
+149:       bundle_path.join("specifications")
+150:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sudo(str) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 210
+210:     def sudo(str)
+211:       `sudo -p 'Enter your password to install the bundled RubyGems to your system: ' #{str}`
+212:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tmp() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 170
+170:     def tmp
+171:       user_bundle_path.join("tmp", Process.pid.to_s)
+172:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ui() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 77
+77:     def ui
+78:       @ui ||= UI.new
+79:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + user_bundle_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 136
+136:     def user_bundle_path
+137:       Pathname.new(Gem.user_home).join(".bundler")
+138:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + with_clean_env() + click to toggle source + +
+ +
+ + + + + +
+
+     # 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
+
+ +
+ + + + +
+ + +
+ +
+

Private Class Methods

+ + +
+ + +
+ + configure_gem_home_and_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 246
+246:     def configure_gem_home_and_path
+247:       if settings[:disable_shared_gems]
+248:         ENV['GEM_PATH'] = ''
+249:         ENV['GEM_HOME'] = File.expand_path(bundle_path, root)
+250:       elsif Gem.dir != bundle_path.to_s
+251:         paths = [Gem.dir, Gem.path].flatten.compact.uniq.reject{|p| p.empty? }
+252:         ENV["GEM_PATH"] = paths.join(File::PATH_SEPARATOR)
+253:         ENV["GEM_HOME"] = bundle_path.to_s
+254:       end
+255: 
+256:       Gem.clear_paths
+257:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + upgrade_lockfile() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler.rb, line 259
+259:     def upgrade_lockfile
+260:       lockfile = default_lockfile
+261:       if lockfile.exist? && lockfile.read(3) == "---"
+262:         Bundler.ui.warn "Detected Gemfile.lock generated by 0.9, deleting..."
+263:         lockfile.rmtree
+264:         # lock = YAML.load_file(lockfile)
+265:         #
+266:         # source_uris = lock["sources"].map{|s| s["Rubygems"]["uri"] }
+267:         # sources = [Bundler::Source::Rubygems.new({"remotes" => source_uris})]
+268:         #
+269:         # deps = lock["dependencies"].map do |name, opts|
+270:         #   version = opts.delete("version")
+271:         #   Bundler::Dependency.new(name, version, opts)
+272:         # end
+273:         #
+274:         # definition = Bundler::Definition.new(nil, deps, sources, {})
+275:         #
+276:         # File.open(lockfile, 'w') do |f|
+277:         #   f.write definition.to_lock
+278:         # end
+279:       end
+280:     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.0/rdoc/Bundler/BundlerError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/BundlerError.html new file mode 100644 index 00000000..d4ad3b37 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/BundlerError.html @@ -0,0 +1,359 @@ + + + + + + + Class: Bundler::BundlerError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::BundlerError

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

Public Class Methods

+ + +
+ + +
+ + status_code(code = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 32
+32:     def self.status_code(code = nil)
+33:       define_method(:status_code) { code }
+34:     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.0/rdoc/Bundler/CLI.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/CLI.html new file mode 100644 index 00000000..e2213767 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/CLI.html @@ -0,0 +1,1373 @@ + + + + + + + Class: Bundler::CLI + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

+ +
+ + + + +
+

Included Modules

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

Class Index + [+]

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

Bundler::CLI

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

Public Class Methods

+ + +
+ + +
+ + new(*) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/cli.rb, line 13
+13:     def initialize(*)
+14:       super
+15:       use_shell = options["no-color"] ? Thor::Shell::Basic.new : shell
+16: 
+17:       Bundler.ui = UI::Shell.new(use_shell)
+18:       Gem::DefaultUserInteraction.ui = UI::RGProxy.new(Bundler.ui)
+19:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_root() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 478
+478:     def self.source_root
+479:       File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
+480:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 289
+289:     def cache
+290:       Bundler.definition.resolve_with_cache!
+291:       Bundler.load.cache
+292:       Bundler.settings[:no_prune] = true if options[:no_prune]
+293:       Bundler.load.lock
+294:     rescue GemNotFound => e
+295:       Bundler.ui.error(e.message)
+296:       Bundler.ui.warn "Run `bundle install` to install missing gems."
+297:       exit 128
+298:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + check() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 98
+ 98:     def check
+ 99:       ENV['BUNDLE_GEMFILE'] = File.expand_path(options[:gemfile]) if options[:gemfile]
+100:       begin
+101:         not_installed = Bundler.definition.missing_specs
+102:       rescue GemNotFound, VersionConflict
+103:         Bundler.ui.error "Your Gemfile's dependencies could not be satisfied"
+104:         Bundler.ui.warn  "Install missing gems with `bundle install`"
+105:         exit 1
+106:       end
+107: 
+108:       if not_installed.any?
+109:         Bundler.ui.error "The following gems are missing"
+110:         not_installed.each { |s| Bundler.ui.error " * #{s.name} (#{s.version})" }
+111:         Bundler.ui.warn "Install missing gems with `bundle install`"
+112:         exit 1
+113:       else
+114:         Bundler.load.lock
+115:         Bundler.ui.info "The Gemfile's dependencies are satisfied"
+116:       end
+117:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + config(name = nil, *args) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 351
+351:     def config(name = nil, *args)
+352:       values = ARGV.dup
+353:       values.shift # remove config
+354:       values.shift # remove the name
+355: 
+356:       unless name
+357:         Bundler.ui.confirm "Settings are listed in order of priority. The top value will be used.\n"
+358: 
+359:         Bundler.settings.all.each do |setting|
+360:           Bundler.ui.confirm "#{setting}"
+361:           with_padding do
+362:             Bundler.settings.pretty_values_for(setting).each do |line|
+363:               Bundler.ui.info line
+364:             end
+365:           end
+366:           Bundler.ui.confirm ""
+367:         end
+368:         return
+369:       end
+370: 
+371:       if values.empty?
+372:         Bundler.ui.confirm "Settings for `#{name}` in order of priority. The top value will be used"
+373:         with_padding do
+374:           Bundler.settings.pretty_values_for(name).each { |line| Bundler.ui.info line }
+375:         end
+376:       else
+377:         locations = Bundler.settings.locations(name)
+378: 
+379:         if local = locations[:local]
+380:           Bundler.ui.info "Your application has set #{name} to #{local.inspect}. This will override the "              "system value you are currently setting"
+381:         end
+382: 
+383:         if global = locations[:global]
+384:           Bundler.ui.info "You are replacing the current system value of #{name}, which is currently #{global}"
+385:         end
+386: 
+387:         if env = locations[:env]
+388:           Bundler.ui.info "You have set a bundler environment variable for #{env}. This will take precedence "              "over the system value you are setting"
+389:         end
+390: 
+391:         Bundler.settings.set_global(name, values.join(" "))
+392:       end
+393:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + console(group = nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 410
+410:     def console(group = nil)
+411:       require 'bundler/setup'
+412:       group ? Bundler.require(:default, group) : Bundler.require
+413:       ARGV.clear
+414: 
+415:       require 'irb'
+416:       IRB.start
+417:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + exec(*) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 321
+321:     def exec(*)
+322:       ARGV.delete("exec")
+323: 
+324:       Bundler.setup
+325: 
+326:       begin
+327:         # Run
+328:         Kernel.exec(*ARGV)
+329:       rescue Errno::EACCES
+330:         Bundler.ui.error "bundler: not executable: #{ARGV.first}"
+331:         exit 126
+332:       rescue Errno::ENOENT
+333:         Bundler.ui.error "bundler: command not found: #{ARGV.first}"
+334:         Bundler.ui.warn  "Install missing gem binaries with `bundle install`"
+335:         exit 127
+336:       end
+337:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem(name) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 456
+456:     def gem(name)
+457:       target = File.join(Dir.pwd, name)
+458:       if File.exist?(name)
+459:         Bundler.ui.error "File already exists at #{File.join(Dir.pwd, name)}"
+460:         exit 1
+461:       end
+462: 
+463:       constant_name = name.split('_').map{|p| p.capitalize}.join
+464:       constant_name = constant_name.split('-').map{|q| q.capitalize}.join('::') if constant_name =~ /-/
+465:       constant_array = constant_name.split('::')
+466:       FileUtils.mkdir_p(File.join(target, 'lib', name))
+467:       opts = {:name => name, :constant_name => constant_name, :constant_array => constant_array}
+468:       template(File.join('newgem', 'Gemfile.tt'),                     File.join(target, 'Gemfile'),                 opts)
+469:       template(File.join('newgem', 'Rakefile.tt'),                    File.join(target, 'Rakefile'),                opts)
+470:       template(File.join('newgem', 'gitignore.tt'),                   File.join(target, '.gitignore'),              opts)
+471:       template(File.join('newgem', 'newgem.gemspec.tt'),              File.join(target, "#{name}.gemspec"),         opts)
+472:       template(File.join('newgem', 'lib', 'newgem.rb.tt'),            File.join(target, 'lib', "#{name}.rb"),       opts)
+473:       template(File.join('newgem', 'lib', 'newgem', 'version.rb.tt'), File.join(target, 'lib', name, 'version.rb'), opts)
+474:       Bundler.ui.info "Initializating git repo in #{target}"
+475:       Dir.chdir(target) { `git init`; `git add .` }
+476:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + help(cli = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/cli.rb, line 26
+26:     def help(cli = nil)
+27:       case cli
+28:       when "gemfile" then command = "gemfile.5"
+29:       when nil       then command = "bundle"
+30:       else command = "bundle-#{cli}"
+31:       end
+32: 
+33:       manpages = %(
+34:           bundle
+35:           bundle-config
+36:           bundle-exec
+37:           bundle-install
+38:           bundle-package
+39:           bundle-update
+40:           gemfile.5)
+41: 
+42:       if manpages.include?(command)
+43:         root = File.expand_path("../man", __FILE__)
+44: 
+45:         if have_groff?
+46:           groff   = "groff -Wall -mtty-char -mandoc -Tascii"
+47:           pager   = ENV['MANPAGER'] || ENV['PAGER'] || 'more'
+48: 
+49:           Kernel.exec "#{groff} #{root}/#{command} | #{pager}"
+50:         else
+51:           puts File.read("#{root}/#{command}.txt")
+52:         end
+53:       else
+54:         super
+55:       end
+56:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + init() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/cli.rb, line 65
+65:     def init
+66:       opts = options.dup
+67:       if File.exist?("Gemfile")
+68:         Bundler.ui.error "Gemfile already exists at #{Dir.pwd}/Gemfile"
+69:         exit 1
+70:       end
+71: 
+72:       if opts[:gemspec]
+73:         gemspec = File.expand_path(opts[:gemspec])
+74:         unless File.exist?(gemspec)
+75:           Bundler.ui.error "Gem specification #{gemspec} doesn't exist"
+76:           exit 1
+77:         end
+78:         spec = Gem::Specification.load(gemspec)
+79:         puts "Writing new Gemfile to #{Dir.pwd}/Gemfile"
+80:         File.open('Gemfile', 'wb') do |file|
+81:           file << "# Generated from #{gemspec}\n"
+82:           file << spec.to_gemfile
+83:         end
+84:       else
+85:         puts "Writing new Gemfile to #{Dir.pwd}/Gemfile"
+86:         FileUtils.cp(File.expand_path('../templates/Gemfile', __FILE__), 'Gemfile')
+87:       end
+88:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + install(path = nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 156
+156:     def install(path = nil)
+157:       opts = options.dup
+158:       opts[:without] ||= []
+159:       opts[:without].map! { |g| g.to_sym }
+160: 
+161: 
+162:       ENV['BUNDLE_GEMFILE'] = File.expand_path(opts[:gemfile]) if opts[:gemfile]
+163: 
+164:       if opts[:production]
+165:         opts[:deployment] = true
+166:         Bundler.ui.warn "The --production option is deprecated, and will be removed in "                          "the final release of Bundler 1.0. Please use --deployment instead."
+167:       end
+168: 
+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:         Bundler.settings[:frozen] = '1'
+186: 
+187:         unless Bundler.default_lockfile.exist?
+188:           flag = opts[:deployment] ? '--deployment' : '--frozen'
+189:           raise ProductionError, "The #{flag} flag requires a Gemfile.lock. Please make "                                   "sure you have checked your Gemfile.lock into version control "                                   "before deploying."
+190:         end
+191: 
+192:         if Bundler.root.join("vendor/cache").exist?
+193:           opts[:local] = true
+194:         end
+195:       end
+196: 
+197:       # Can't use Bundler.settings for this because settings needs gemfile.dirname
+198:       Bundler.settings[:path] = nil if opts[:system]
+199:       Bundler.settings[:path] = "vendor/bundle" if opts[:deployment]
+200:       Bundler.settings[:path] = path if path
+201:       Bundler.settings[:path] = opts[:path] if opts[:path]
+202:       Bundler.settings[:bin] = opts["binstubs"] if opts[:binstubs]
+203:       Bundler.settings[:disable_shared_gems] = '1' if Bundler.settings[:path]
+204:       Bundler.settings.without = opts[:without]
+205:       Bundler.ui.be_quiet! if opts[:quiet]
+206: 
+207:       Installer.install(Bundler.root, Bundler.definition, opts)
+208:       Bundler.load.cache if Bundler.root.join("vendor/cache").exist?
+209:       Bundler.ui.confirm "Your bundle is complete! " +
+210:         "Use `bundle show [gemname]` to see where a bundled gem is installed."
+211: 
+212:       Bundler.ui.confirm "\nYour bundle was installed to `#{Bundler.settings[:path]}`" if Bundler.settings[:path]
+213: 
+214:       if path
+215:         Bundler.ui.warn "\nIf you meant to install it to your system, please remove the\n"                          "`#{path}` directory and run `bundle install --system`"
+216:       end
+217:     rescue GemNotFound => e
+218:       if Bundler.definition.no_sources?
+219:         Bundler.ui.warn "Your Gemfile doesn't have any sources. You can add one with a line like 'source :gemcutter'"
+220:       end
+221:       raise e
+222:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 259
+259:     def lock
+260:       Bundler.ui.warn "Lock is deprecated. Your bundle is now locked whenever you run `bundle install`."
+261:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + open(name) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 398
+398:     def open(name)
+399:       editor = [ENV['BUNDLER_EDITOR'], ENV['VISUAL'], ENV['EDITOR']].find{|e| !e.nil? && !e.empty? }
+400:       if editor
+401:         command = "#{editor} #{locate_gem(name)}"
+402:         success = system(command)
+403:         Bundler.ui.info "Could not run '#{command}'" unless success
+404:       else
+405:         Bundler.ui.info("To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR")
+406:       end
+407:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + package() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 308
+308:     def package
+309:       install
+310:       # TODO: move cache contents here now that all bundles are locked
+311:       Bundler.load.cache
+312:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + show(gem_name = nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 273
+273:     def show(gem_name = nil)
+274:       Bundler.load.lock
+275: 
+276:       if gem_name
+277:         Bundler.ui.info locate_gem(gem_name)
+278:       else
+279:         Bundler.ui.info "Gems included by the bundle:"
+280:         Bundler.load.specs.sort_by { |s| s.name }.each do |s|
+281:           Bundler.ui.info "  * #{s.name} (#{s.version}#{s.git_version})"
+282:         end
+283:       end
+284:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + unlock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 264
+264:     def unlock
+265:       Bundler.ui.warn "Unlock is deprecated. To update to newer gem versions, use `bundle update`."
+266:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + update(*gems) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 242
+242:     def update(*gems)
+243:       sources = Array(options[:source])
+244: 
+245:       if gems.empty? && sources.empty?
+246:         # We're doing a full update
+247:         Bundler.definition(true)
+248:       else
+249:         Bundler.definition(:gems => gems, :sources => sources)
+250:       end
+251: 
+252:       Installer.install Bundler.root, Bundler.definition, "update" => true
+253:       Bundler.load.cache if Bundler.root.join("vendor/cache").exist?
+254:       Bundler.ui.confirm "Your bundle is updated! " +
+255:         "Use `bundle show [gemname]` to see where a bundled gem is installed."
+256:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + version() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 420
+420:     def version
+421:       Bundler.ui.info "Bundler version #{Bundler::VERSION}"
+422:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + viz() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 434
+434:     def viz
+435:       output_file = File.expand_path(options[:file])
+436:       graph = Graph.new( Bundler.load )
+437: 
+438:       begin
+439:         graph.viz(output_file, options[:version], options[:requirements])
+440:         Bundler.ui.info output_file
+441:       rescue LoadError => e
+442:         Bundler.ui.error e.inspect
+443:         Bundler.ui.warn "Make sure you have the graphviz ruby gem. You can install it with:"
+444:         Bundler.ui.warn "`gem install ruby-graphviz`"
+445:       rescue StandardError => e
+446:         if e.message =~ /GraphViz not installed or dot not in PATH/
+447:           Bundler.ui.error e.message
+448:           Bundler.ui.warn "The ruby graphviz gem requires GraphViz to be installed"
+449:         else
+450:           raise
+451:         end
+452:       end
+453:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + have_groff?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 484
+484:     def have_groff?
+485:       `which groff 2>#{NULL}`
+486:       $? == 0
+487:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + locate_gem(name) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/cli.rb, line 489
+489:     def locate_gem(name)
+490:       spec = Bundler.load.specs.find{|s| s.name == name }
+491:       raise GemNotFound, "Could not find gem '#{name}' in the current bundle." unless spec
+492:       if spec.name == 'bundler'
+493:         return File.expand_path('../../../', __FILE__)
+494:       end
+495:       spec.full_gem_path
+496:     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.0/rdoc/Bundler/Definition.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Definition.html new file mode 100644 index 00000000..49bb6288 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Definition.html @@ -0,0 +1,1723 @@ + + + + + + + Class: Bundler::Definition + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Class Index + [+]

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

Bundler::Definition

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

Attributes

+ + +
+ + +
+ dependencies[R] +
+ +
+ + + +
+
+ +
+ + +
+ platforms[R] +
+ +
+ + + +
+
+ +
+ + +
+ sources[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + build(gemfile, lockfile, unlock) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/definition.rb, line 9
+ 9:     def self.build(gemfile, lockfile, unlock)
+10:       unlock ||= {}
+11:       gemfile = Pathname.new(gemfile).expand_path
+12: 
+13:       unless gemfile.file?
+14:         raise GemfileNotFound, "#{gemfile} not found"
+15:       end
+16: 
+17:       # TODO: move this back into DSL
+18:       builder = Dsl.new
+19:       builder.instance_eval(Bundler.read_file(gemfile.to_s), gemfile.to_s, 1)
+20:       builder.to_definition(lockfile, unlock)
+21:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(lockfile, dependencies, sources, unlock) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/definition.rb, line 35
+35:     def initialize(lockfile, dependencies, sources, unlock)
+36:       @dependencies, @sources, @unlock = dependencies, sources, unlock
+37:       @remote            = false
+38:       @specs             = nil
+39:       @lockfile_contents = ""
+40: 
+41:       if lockfile && File.exists?(lockfile)
+42:         @lockfile_contents = Bundler.read_file(lockfile)
+43:         locked = LockfileParser.new(@lockfile_contents)
+44:         @platforms      = locked.platforms
+45: 
+46:         if unlock != true
+47:           @locked_deps    = locked.dependencies
+48:           @locked_specs   = SpecSet.new(locked.specs)
+49:           @locked_sources = locked.sources
+50:         else
+51:           @unlock         = {}
+52:           @locked_deps    = []
+53:           @locked_specs   = SpecSet.new([])
+54:           @locked_sources = []
+55:         end
+56:       else
+57:         @unlock         = {}
+58:         @platforms      = []
+59:         @locked_deps    = []
+60:         @locked_specs   = SpecSet.new([])
+61:         @locked_sources = []
+62:       end
+63: 
+64:       @unlock[:gems] ||= []
+65:       @unlock[:sources] ||= []
+66: 
+67:       current_platform = Gem.platforms.map { |p| generic(p) }.compact.last
+68:       @new_platform = !@platforms.include?(current_platform)
+69:       @platforms |= [current_platform]
+70: 
+71:       eager_unlock = expand_dependencies(@unlock[:gems])
+72:       @unlock[:gems] = @locked_specs.for(eager_unlock).map { |s| s.name }
+73: 
+74:       converge_sources
+75:       converge_dependencies
+76:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + current_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 130
+130:     def current_dependencies
+131:       dependencies.reject { |d| !d.should_include? }
+132:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ensure_equivalent_gemfile_and_lockfile() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 230
+230:     def ensure_equivalent_gemfile_and_lockfile
+231:       changes = false
+232: 
+233:       msg = "You have modified your Gemfile in development but did not check\n"              "the resulting snapshot (Gemfile.lock) into version control"
+234: 
+235:       added =   []
+236:       deleted = []
+237:       changed = []
+238: 
+239:       if @locked_sources != @sources
+240:         new_sources = @sources - @locked_sources
+241:         deleted_sources = @locked_sources - @sources
+242: 
+243:         if new_sources.any?
+244:           added.concat new_sources.map { |source| "* source: #{source}" }
+245:         end
+246: 
+247:         if deleted_sources.any?
+248:           deleted.concat deleted_sources.map { |source| "* source: #{source}" }
+249:         end
+250: 
+251:         changes = true
+252:       end
+253: 
+254:       both_sources = Hash.new { |h,k| h[k] = ["no specified source", "no specified source"] }
+255:       @dependencies.each { |d| both_sources[d.name][0] = d.source if d.source }
+256:       @locked_deps.each  { |d| both_sources[d.name][1] = d.source if d.source }
+257:       both_sources.delete_if { |k,v| v[0] == v[1] }
+258: 
+259:       if @dependencies != @locked_deps
+260:         new_deps = @dependencies - @locked_deps
+261:         deleted_deps = @locked_deps - @dependencies
+262: 
+263:         if new_deps.any?
+264:           added.concat new_deps.map { |d| "* #{pretty_dep(d)}" }
+265:         end
+266: 
+267:         if deleted_deps.any?
+268:           deleted.concat deleted_deps.map { |d| "* #{pretty_dep(d)}" }
+269:         end
+270: 
+271:         both_sources.each do |name, sources|
+272:           changed << "* #{name} from `#{sources[0]}` to `#{sources[1]}`"
+273:         end
+274: 
+275:         changes = true
+276:       end
+277: 
+278:       msg << "\n\nYou have added to the Gemfile:\n"     << added.join("\n") if added.any?
+279:       msg << "\n\nYou have deleted from the Gemfile:\n" << deleted.join("\n") if deleted.any?
+280:       msg << "\n\nYou have changed in the Gemfile:\n"   << changed.join("\n") if changed.any?
+281: 
+282:       raise ProductionError, msg if added.any? || deleted.any? || changed.any?
+283:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + groups() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 170
+170:     def groups
+171:       dependencies.map { |d| d.groups }.flatten.uniq
+172:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + index() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 158
+158:     def index
+159:       @index ||= Index.build do |idx|
+160:         @sources.each do |s|
+161:           idx.use s.specs
+162:         end
+163:       end
+164:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + lock(file) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 174
+174:     def lock(file)
+175:       contents = to_lock
+176: 
+177:       return if @lockfile_contents == contents
+178: 
+179:       if Bundler.settings[:frozen]
+180:         # TODO: Warn here if we got here.
+181:         return
+182:       end
+183: 
+184:       File.open(file, 'wb') do |f|
+185:         f.puts contents
+186:       end
+187:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + missing_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 116
+116:     def missing_specs
+117:       missing = []
+118:       resolve.materialize(requested_dependencies, missing)
+119:       missing
+120:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new_platform?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 112
+112:     def new_platform?
+113:       @new_platform
+114:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 104
+104:     def new_specs
+105:       specs - @locked_specs
+106:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + no_sources?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 166
+166:     def no_sources?
+167:       @sources.length == 1 && @sources.first.remotes.empty?
+168:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + removed_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 108
+108:     def removed_specs
+109:       @locked_specs - specs
+110:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requested_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 122
+122:     def requested_specs
+123:       @requested_specs ||= begin
+124:         groups = self.groups - Bundler.settings.without
+125:         groups.map! { |g| g.to_sym }
+126:         specs_for(groups)
+127:       end
+128:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 140
+140:     def resolve
+141:       @resolve ||= begin
+142:         if Bundler.settings[:frozen]
+143:           @locked_specs
+144:         else
+145:           last_resolve = converge_locked_specs
+146:           source_requirements = {}
+147:           dependencies.each do |dep|
+148:             next unless dep.source
+149:             source_requirements[dep.name] = dep.source.specs
+150:           end
+151: 
+152:           # Run a resolve against the locally available gems
+153:           last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve)
+154:         end
+155:       end
+156:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve_remotely!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/definition.rb, line 84
+84:     def resolve_remotely!
+85:       raise "Specs already loaded" if @specs
+86:       @remote = true
+87:       @sources.each { |s| s.remote! }
+88:       specs
+89:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve_with_cache!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/definition.rb, line 78
+78:     def resolve_with_cache!
+79:       raise "Specs already loaded" if @specs
+80:       @sources.each { |s| s.cached! }
+81:       specs
+82:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 91
+ 91:     def specs
+ 92:       @specs ||= begin
+ 93:         specs = resolve.materialize(requested_dependencies)
+ 94: 
+ 95:         unless specs["bundler"].any?
+ 96:           bundler = index.search(Gem::Dependency.new('bundler', VERSION)).last
+ 97:           specs["bundler"] = bundler if bundler
+ 98:         end
+ 99: 
+100:         specs
+101:       end
+102:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs_for(groups) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 134
+134:     def specs_for(groups)
+135:       deps = dependencies.select { |d| (d.groups & groups).any? }
+136:       deps.delete_if { |d| !d.should_include? }
+137:       specs.for(expand_dependencies(deps))
+138:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 189
+189:     def to_lock
+190:       out = ""
+191: 
+192:       sorted_sources.each do |source|
+193:         # Add the source header
+194:         out << source.to_lock
+195:         # Find all specs for this source
+196:         resolve.
+197:           select  { |s| s.source == source }.
+198:           # This needs to be sorted by full name so that
+199:           # gems with the same name, but different platform
+200:           # are ordered consistantly
+201:           sort_by { |s| s.full_name }.
+202:           each do |spec|
+203:             next if spec.name == 'bundler'
+204:             out << spec.to_lock
+205:         end
+206:         out << "\n"
+207:       end
+208: 
+209:       out << "PLATFORMS\n"
+210: 
+211:       platforms.map { |p| p.to_s }.sort.each do |p|
+212:         out << "  #{p}\n"
+213:       end
+214: 
+215:       out << "\n"
+216:       out << "DEPENDENCIES\n"
+217: 
+218:       handled = []
+219:       dependencies.
+220:         sort_by { |d| d.name }.
+221:         each do |dep|
+222:           next if handled.include?(dep.name)
+223:           out << dep.to_lock
+224:           handled << dep.name
+225:       end
+226: 
+227:       out
+228:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + converge_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 312
+312:     def converge_dependencies
+313:       (@dependencies + @locked_deps).each do |dep|
+314:         if dep.source
+315:           dep.source = @sources.find { |s| dep.source == s }
+316:         end
+317:       end
+318:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + converge_locked_specs() + click to toggle source + +
+ +
+ +

+Remove elements from the locked specs that are expired. This will most +commonly happen if the Gemfile has changed since the lockfile was last +generated +

+ + + +
+
+     # File lib/bundler/definition.rb, line 323
+323:     def converge_locked_specs
+324:       deps = []
+325: 
+326:       # Build a list of dependencies that are the same in the Gemfile
+327:       # and Gemfile.lock. If the Gemfile modified a dependency, but
+328:       # the gem in the Gemfile.lock still satisfies it, this is fine
+329:       # too.
+330:       @dependencies.each do |dep|
+331:         locked_dep = @locked_deps.find { |d| dep == d }
+332: 
+333:         if in_locked_deps?(dep, locked_dep) || satisfies_locked_spec?(dep)
+334:           deps << dep
+335:         elsif dep.source.is_a?(Source::Path) && (!locked_dep || dep.source != locked_dep.source)
+336:           @locked_specs.each do |s|
+337:             @unlock[:gems] << s.name if s.source == dep.source
+338:           end
+339: 
+340:           dep.source.unlock! if dep.source.respond_to?(:unlock!)
+341:           dep.source.specs.each { |s| @unlock[:gems] << s.name }
+342:         end
+343:       end
+344: 
+345:       converged = []
+346:       @locked_specs.each do |s|
+347:         s.source = @sources.find { |src| s.source == src }
+348: 
+349:         # Don't add a spec to the list if its source is expired. For example,
+350:         # if you change a Git gem to Rubygems.
+351:         next if s.source.nil? || @unlock[:sources].include?(s.name)
+352:         # If the spec is from a path source and it doesn't exist anymore
+353:         # then we just unlock it.
+354: 
+355:         # Path sources have special logic
+356:         if s.source.instance_of?(Source::Path)
+357:           other = s.source.specs[s].first
+358: 
+359:           # If the spec is no longer in the path source, unlock it. This
+360:           # commonly happens if the version changed in the gemspec
+361:           next unless other
+362:           # If the dependencies of the path source have changed, unlock it
+363:           next unless s.dependencies.sort == other.dependencies.sort
+364:         end
+365: 
+366:         converged << s
+367:       end
+368: 
+369:       resolve = SpecSet.new(converged)
+370:       resolve = resolve.for(expand_dependencies(deps, true), @unlock[:gems])
+371:       diff    = @locked_specs.to_a - resolve.to_a
+372: 
+373:       # Now, we unlock any sources that do not have anymore gems pinned to it
+374:       @sources.each do |source|
+375:         next unless source.respond_to?(:unlock!)
+376: 
+377:         unless resolve.any? { |s| s.source == source }
+378:           source.unlock! if diff.any? { |s| s.source == source }
+379:         end
+380:       end
+381: 
+382:       resolve
+383:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + converge_sources() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 295
+295:     def converge_sources
+296:       locked_gem = @locked_sources.find { |s| Source::Rubygems === s }
+297:       actual_gem = @sources.find { |s| Source::Rubygems === s }
+298: 
+299:       if locked_gem && actual_gem
+300:         locked_gem.merge_remotes actual_gem
+301:       end
+302: 
+303:       @sources.map! do |source|
+304:         @locked_sources.find { |s| s == source } || source
+305:       end
+306: 
+307:       @sources.each do |source|
+308:         source.unlock! if source.respond_to?(:unlock!) && @unlock[:sources].include?(source.name)
+309:       end
+310:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + expand_dependencies(dependencies, remote = false) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 397
+397:     def expand_dependencies(dependencies, remote = false)
+398:       deps = []
+399:       dependencies.each do |dep|
+400:         dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name)
+401:         dep.gem_platforms(@platforms).each do |p|
+402:           deps << DepProxy.new(dep, p) if remote || p == generic(Gem::Platform.local)
+403:         end
+404:       end
+405:       deps
+406:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + expanded_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 393
+393:     def expanded_dependencies
+394:       @expanded_dependencies ||= expand_dependencies(dependencies, @remote)
+395:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + in_locked_deps?(dep, d) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 385
+385:     def in_locked_deps?(dep, d)
+386:       d && dep.source == d.source
+387:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + pretty_dep(dep, source = false) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 288
+288:     def pretty_dep(dep, source = false)
+289:       msg  = "#{dep.name}"
+290:       msg << " (#{dep.requirement})" unless dep.requirement == Gem::Requirement.default
+291:       msg << " from the `#{dep.source}` source" if source && dep.source
+292:       msg
+293:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requested_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 415
+415:     def requested_dependencies
+416:       groups = self.groups - Bundler.settings.without
+417:       groups.map! { |g| g.to_sym }
+418:       dependencies.reject { |d| !d.should_include? || (d.groups & groups).empty? }
+419:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + satisfies_locked_spec?(dep) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 389
+389:     def satisfies_locked_spec?(dep)
+390:       @locked_specs.any? { |s| s.satisfies?(dep) && (!dep.source || s.source == dep.source) }
+391:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sorted_sources() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/definition.rb, line 408
+408:     def sorted_sources
+409:       @sources.sort_by do |s|
+410:         # Place GEM at the top
+411:         [ s.is_a?(Source::Rubygems) ? 1 : 0, s.to_s ]
+412:       end
+413:     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.0/rdoc/Bundler/DepProxy.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DepProxy.html new file mode 100644 index 00000000..e71ef76d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DepProxy.html @@ -0,0 +1,637 @@ + + + + + + + Class: Bundler::DepProxy + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::DepProxy

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

Attributes

+ + +
+ + +
+ required_by[R] +
+ +
+ + + +
+
+ +
+ + +
+ __platform[R] +
+ +
+ + + +
+
+ +
+ + +
+ dep[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(dep, platform) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 139
+139:     def initialize(dep, platform)
+140:       @dep, @__platform, @required_by = dep, platform, []
+141:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 147
+147:     def ==(o)
+148:       dep == o.dep && __platform == o.__platform
+149:     end
+
+ +
+ + +
+ Also aliased as: eql? +
+ + + +
+ + +
+ + +
+ + eql?(o) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: == +
+ +
+ + +
+ + +
+ + hash() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 143
+143:     def hash
+144:       @hash ||= dep.hash
+145:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 157
+157:     def to_s
+158:       @dep.to_s
+159:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + type() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 153
+153:     def type
+154:       @dep.type
+155:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + method_missing(*args) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 163
+163:     def method_missing(*args)
+164:       @dep.send(*args)
+165:     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.0/rdoc/Bundler/Dependency.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dependency.html new file mode 100644 index 00000000..1d05fbc6 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dependency.html @@ -0,0 +1,936 @@ + + + + + + + Class: Bundler::Dependency + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::Dependency

+ +
+ +
+ + + +
+

Constants

+
+ +
PLATFORM_MAP
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ autorequire[R] +
+ +
+ + + +
+
+ +
+ + +
+ groups[R] +
+ +
+ + + +
+
+ +
+ + +
+ platforms[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, version, options = {}, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 22
+22:     def initialize(name, version, options = {}, &blk)
+23:       super(name, version)
+24: 
+25:       @autorequire = nil
+26:       @groups      = Array(options["group"] || :default).map { |g| g.to_sym }
+27:       @source      = options["source"]
+28:       @platforms   = Array(options["platforms"])
+29:       @env         = options["env"]
+30: 
+31:       if options.key?('require')
+32:         @autorequire = Array(options['require'] || [])
+33:       end
+34:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + current_env?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 52
+52:     def current_env?
+53:       return true unless @env
+54:       if Hash === @env
+55:         @env.all? do |key, val|
+56:           ENV[key.to_s] && (String === val ? ENV[key.to_s] == val : ENV[key.to_s] =~ val)
+57:         end
+58:       else
+59:         ENV[@env.to_s]
+60:       end
+61:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + current_platform?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 63
+63:     def current_platform?
+64:       return true if @platforms.empty?
+65:       @platforms.any? { |p| send("#{p}?") }
+66:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem_platforms(valid_platforms) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 36
+36:     def gem_platforms(valid_platforms)
+37:       return valid_platforms if @platforms.empty?
+38: 
+39:       platforms = []
+40:       @platforms.each do |p|
+41:         platform = PLATFORM_MAP[p]
+42:         next unless valid_platforms.include?(platform)
+43:         platforms |= [platform]
+44:       end
+45:       platforms
+46:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + should_include?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 48
+48:     def should_include?
+49:       current_env? && current_platform?
+50:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 68
+68:     def to_lock
+69:       out = "  #{name}"
+70: 
+71:       unless requirement == Gem::Requirement.default
+72:         out << " (#{requirement.to_s})"
+73:       end
+74: 
+75:       out << '!' if source
+76: 
+77:       out << "\n"
+78:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + jruby?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dependency.rb, line 106
+106:     def jruby?
+107:       defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
+108:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mri?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 94
+94:     def mri?
+95:       !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby")
+96:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mri_18?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dependency.rb, line 98
+ 98:     def mri_18?
+ 99:       mri? && RUBY_VERSION < "1.9"
+100:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mri_19?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dependency.rb, line 102
+102:     def mri_19?
+103:       mri? && RUBY_VERSION >= "1.9"
+104:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + mswin?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dependency.rb, line 110
+110:     def mswin?
+111:       # w0t?
+112:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 82
+82:     def ruby?
+83:       !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" || RUBY_ENGINE == "rbx")
+84:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby_18?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 86
+86:     def ruby_18?
+87:       ruby? && RUBY_VERSION < "1.9"
+88:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby_19?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dependency.rb, line 90
+90:     def ruby_19?
+91:       ruby? && RUBY_VERSION >= "1.9"
+92:     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.0/rdoc/Bundler/DeprecatedError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DeprecatedError.html new file mode 100644 index 00000000..273f5f60 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DeprecatedError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::DeprecatedError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::DeprecatedError

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

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.0/rdoc/Bundler/Dsl.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dsl.html new file mode 100644 index 00000000..82f1a147 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Dsl.html @@ -0,0 +1,1077 @@ + + + + + + + Class: Bundler::Dsl + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::Dsl

+ +
+ +
+ + + +
+

Constants

+
+ +
VALID_PLATFORMS
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + deprecate(name, replacement = nil) + click to toggle source + +
+ +
+ +

+Deprecated methods +

+ + + +
+
+     # File lib/bundler/dsl.rb, line 148
+148:     def self.deprecate(name, replacement = nil)
+149:       define_method(name) do |*|
+150:         message = "'#{name}' has been removed from the Gemfile DSL, "
+151:         if replacement
+152:           message << "and has been replaced with '#{replacement}'."
+153:         else
+154:           message << "and is no longer supported."
+155:         end
+156:         message << "\nSee the README for more information on upgrading from Bundler 0.8."
+157:         raise DeprecatedError, message
+158:       end
+159:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + evaluate(gemfile) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/dsl.rb, line 5
+5:     def self.evaluate(gemfile)
+6:       builder = new
+7:       builder.instance_eval(Bundler.read_file(gemfile.to_s), gemfile.to_s, 1)
+8:       builder.to_definition
+9:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dsl.rb, line 13
+13:     def initialize
+14:       @rubygems_source = Source::Rubygems.new
+15:       @source          = nil
+16:       @sources         = []
+17:       @dependencies    = []
+18:       @groups          = []
+19:       @platforms       = []
+20:       @env             = nil
+21:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + env(name) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 139
+139:     def env(name)
+140:       @env, old = name, @env
+141:       yield
+142:     ensure
+143:       @env = old
+144:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem(name, *args) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dsl.rb, line 49
+49:     def gem(name, *args)
+50:       if name.is_a?(Symbol)
+51:         raise GemfileError, %{You need to specify gem names as Strings. Use 'gem "#{name.to_s}"' instead.}
+52:       end
+53: 
+54:       options = Hash === args.last ? args.pop : {}
+55:       version = args || [">= 0"]
+56:       if group = options[:groups] || options[:group]
+57:         options[:group] = group
+58:       end
+59: 
+60:       _deprecated_options(options)
+61:       _normalize_options(name, version, options)
+62: 
+63:       dep = Dependency.new(name, version, options)
+64: 
+65:       if current = @dependencies.find { |d| d.name == dep.name }
+66:         if current.requirement != dep.requirement
+67:           raise DslError, "You cannot specify the same gem twice with different version requirements. "                            "You specified: #{current.name} (#{current.requirement}) and "                            "#{dep.name} (#{dep.requirement})"
+68:         end
+69: 
+70:         if current.source != dep.source
+71:           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}"
+72:         end
+73:       end
+74:       @dependencies << Dependency.new(name, version, options)
+75:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gemspec(opts = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dsl.rb, line 23
+23:     def gemspec(opts = nil)
+24:       path              = opts && opts[:path] || '.'
+25:       name              = opts && opts[:name] || '*'
+26:       development_group = opts && opts[:development_group] || :development
+27:       path              = File.expand_path(path, Bundler.default_gemfile.dirname)
+28:       gemspecs = Dir[File.join(path, "#{name}.gemspec")]
+29: 
+30:       case gemspecs.size
+31:       when 1
+32:         spec = Gem::Specification.load(gemspecs.first)
+33:         gem spec.name, :path => path
+34:         spec.runtime_dependencies.each do |dep|
+35:           gem dep.name, dep.requirement.to_s
+36:         end
+37:         group(development_group) do
+38:           spec.development_dependencies.each do |dep|
+39:             gem dep.name, dep.requirement.to_s
+40:           end
+41:         end
+42:       when 0
+43:         raise InvalidOption, "There are no gemspecs at #{path}."
+44:       else
+45:         raise InvalidOption, "There are multiple gemspecs at #{path}. Please use the :name option to specify which one."
+46:       end
+47:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + git(uri, options = {}, source_options = {}, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 104
+104:     def git(uri, options = {}, source_options = {}, &blk)
+105:       unless block_given?
+106:         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"
+107:         raise DeprecatedError, msg
+108:       end
+109: 
+110:       source Source::Git.new(_normalize_hash(options).merge("uri" => uri)), source_options, &blk
+111:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + group(*args, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 125
+125:     def group(*args, &blk)
+126:       @groups.concat args
+127:       yield
+128:     ensure
+129:       args.each { @groups.pop }
+130:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + path(path, options = {}, source_options = {}, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 100
+100:     def path(path, options = {}, source_options = {}, &blk)
+101:       source Source::Path.new(_normalize_hash(options).merge("path" => Pathname.new(path))), source_options, &blk
+102:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + platforms(*platforms) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 132
+132:     def platforms(*platforms)
+133:       @platforms.concat platforms
+134:       yield
+135:     ensure
+136:       platforms.each { @platforms.pop }
+137:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + source(source, options = {}) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/dsl.rb, line 81
+81:     def source(source, options = {})
+82:       case source
+83:       when :gemcutter, :rubygems, :rubyforge then
+84:         rubygems_source "http://rubygems.org"
+85:         return
+86:       when String
+87:         rubygems_source source
+88:         return
+89:       end
+90: 
+91:       @source = source
+92:       options[:prepend] ? @sources.unshift(@source) : @sources << @source
+93: 
+94:       yield if block_given?
+95:       @source
+96:     ensure
+97:       @source = nil
+98:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_definition(lockfile, unlock) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 119
+119:     def to_definition(lockfile, unlock)
+120:       @sources << @rubygems_source
+121:       @sources.uniq!
+122:       Definition.new(lockfile, @dependencies, @sources, unlock)
+123:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + _deprecated_options(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 233
+233:     def _deprecated_options(options)
+234:       if options.include?(:require_as)
+235:         raise DeprecatedError, "Please replace :require_as with :require"
+236:       elsif options.include?(:vendored_at)
+237:         raise DeprecatedError, "Please replace :vendored_at with :path"
+238:       elsif options.include?(:only)
+239:         raise DeprecatedError, "Please replace :only with :group"
+240:       elsif options.include?(:except)
+241:         raise DeprecatedError, "The :except option is no longer supported"
+242:       end
+243:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + _normalize_hash(opts) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 176
+176:     def _normalize_hash(opts)
+177:       # Cannot modify a hash during an iteration in 1.9
+178:       opts.keys.each do |k|
+179:         next if String === k
+180:         v = opts[k]
+181:         opts.delete(k)
+182:         opts[k.to_s] = v
+183:       end
+184:       opts
+185:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + _normalize_options(name, version, opts) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 187
+187:     def _normalize_options(name, version, opts)
+188:       _normalize_hash(opts)
+189: 
+190:       invalid_keys = opts.keys - %(group git path name branch ref tag require submodules platforms)
+191:       if invalid_keys.any?
+192:         plural = invalid_keys.size > 1
+193:         message = "You passed #{invalid_keys.map{|k| ':'+k }.join(", ")} "
+194:         if plural
+195:           message << "as options for gem '#{name}', but they are invalid."
+196:         else
+197:           message << "as an option for gem '#{name}', but it is invalid."
+198:         end
+199:         raise InvalidOption, message
+200:       end
+201: 
+202:       groups = @groups.dup
+203:       groups.concat Array(opts.delete("group"))
+204:       groups = [:default] if groups.empty?
+205: 
+206:       platforms = @platforms.dup
+207:       platforms.concat Array(opts.delete("platforms"))
+208:       platforms.map! { |p| p.to_sym }
+209:       platforms.each do |p|
+210:         next if VALID_PLATFORMS.include?(p)
+211:         raise DslError, "`#{p}` is not a valid platform. The available options are: #{VALID_PLATFORMS.inspect}"
+212:       end
+213: 
+214:       # Normalize git and path options
+215:       ["git", "path"].each do |type|
+216:         if param = opts[type]
+217:           if version.first && version.first =~ /^\s*=?\s*(\d[^\s]*)\s*$/
+218:             options = opts.merge("name" => name, "version" => $1)
+219:           else
+220:             options = opts.dup
+221:           end
+222:           source = send(type, param, options, :prepend => true) {}
+223:           opts["source"] = source
+224:         end
+225:       end
+226: 
+227:       opts["source"]  ||= @source
+228:       opts["env"]     ||= @env
+229:       opts["platforms"] = @platforms.dup
+230:       opts["group"]     = groups
+231:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + rubygems_source(source) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/dsl.rb, line 171
+171:     def rubygems_source(source)
+172:       @rubygems_source.add_remote source
+173:       @sources << @rubygems_source
+174:     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.0/rdoc/Bundler/DslError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DslError.html new file mode 100644 index 00000000..6803ec1f --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/DslError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::DslError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::DslError

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

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.0/rdoc/Bundler/Environment.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Environment.html new file mode 100644 index 00000000..80cdda15 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Environment.html @@ -0,0 +1,680 @@ + + + + + + + Class: Bundler::Environment + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::Environment

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

Attributes

+ + +
+ + +
+ root[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(root, definition) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 5
+ 5:     def initialize(root, definition)
+ 6:       @root = root
+ 7:       @definition = definition
+ 8: 
+ 9:       env_file = Bundler.app_config_path.join('environment.rb')
+10:       env_file.rmtree if env_file.exist?
+11:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + current_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 34
+34:     def current_dependencies
+35:       @definition.current_dependencies
+36:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 30
+30:     def dependencies
+31:       @definition.dependencies
+32:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + index() + click to toggle source + +
+ +
+ +

+TODO: Remove this method. It’s used in cli.rb still +

+ + + +
+
+    # File lib/bundler/environment.rb, line 18
+18:     def index
+19:       @definition.index
+20:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + inspect() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 13
+13:     def inspect
+14:       @definition.to_lock.inspect
+15:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + lock() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 38
+38:     def lock
+39:       @definition.lock(Bundler.default_lockfile)
+40:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requested_specs() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 22
+22:     def requested_specs
+23:       @definition.requested_specs
+24:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 26
+26:     def specs
+27:       @definition.specs
+28:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + update(*gems) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/environment.rb, line 42
+42:     def update(*gems)
+43:       # Nothing
+44:     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.0/rdoc/Bundler/GemHelper.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelper.html new file mode 100644 index 00000000..00a5314d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelper.html @@ -0,0 +1,1166 @@ + + + + + + + Class: Bundler::GemHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::GemHelper

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

Attributes

+ + +
+ + +
+ spec_path[R] +
+ +
+ + + +
+
+ +
+ + +
+ base[R] +
+ +
+ + + +
+
+ +
+ + +
+ gemspec[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + install_tasks(opts = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 7
+ 7:     def self.install_tasks(opts = nil)
+ 8:       dir = caller.find{|c| /Rakefile:/}[/^(.*?)\/Rakefile:/, 1]
+ 9:       GemHelper.new(dir, opts && opts[:name]).install
+10:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(base, name = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 14
+14:     def initialize(base, name = nil)
+15:       Bundler.ui = UI::Shell.new(Thor::Shell::Color.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
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + build_gem() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 40
+40:     def build_gem
+41:       file_name = nil
+42:       sh("gem build #{spec_path}") { |out, err|
+43:         raise err if err[/ERROR/]
+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
+
+ +
+ + + + +
+ + +
+ + +
+ + install() + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + install_gem() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 52
+52:     def install_gem
+53:       built_gem_path = build_gem
+54:       out, err, code = sh_with_code("gem install #{built_gem_path}")
+55:       if err[/ERROR/]
+56:         Bundler.ui.error err
+57:       else
+58:         Bundler.ui.confirm "#{name} (#{version}) installed"
+59:       end
+60:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + release_gem() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 62
+62:     def release_gem
+63:       guard_clean
+64:       guard_already_tagged
+65:       built_gem_path = build_gem
+66:       tag_version {
+67:         git_push
+68:         rubygem_push(built_gem_path)
+69:       }
+70:     end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + +
+ + built_gem_path() + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + clean?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 103
+103:     def clean?
+104:       sh("git ls-files -dm").split("\n").size.zero?
+105:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + git_push() + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + guard_already_tagged() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 93
+93:     def guard_already_tagged
+94:       if sh('git tag').split(/\n/).include?(version_tag)
+95:         raise("This tag has already been committed to the repo.")
+96:       end
+97:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + guard_clean() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 99
+ 99:     def guard_clean
+100:       clean? or raise("There are files that need to be committed first.")
+101:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 129
+129:     def name
+130:       gemspec.name
+131:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + perform_git_push(options = '') + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 88
+88:     def perform_git_push(options = '')
+89:       out, err, code = sh_with_code "git push --quiet#{options}"
+90:       raise err unless err == ''
+91:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + rubygem_push(path) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/gem_helper.rb, line 73
+73:     def rubygem_push(path)
+74:       sh("gem push #{path}")
+75:       Bundler.ui.confirm "Pushed #{name} #{version} to rubygems.org"
+76:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sh(cmd, &block) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 133
+133:     def sh(cmd, &block)
+134:       out, err, code = sh_with_code(cmd, &block)
+135:       code == 0 ? out : raise(out.empty? ? err : out)
+136:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sh_with_code(cmd, &block) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 138
+138:     def sh_with_code(cmd, &block)
+139:       outbuf, errbuf = '', ''
+140:       Dir.chdir(base) {
+141:         stdin, stdout, stderr = *Open3.popen3(cmd)
+142:         if $? == 0
+143:           outbuf, errbuf = stdout.read, stderr.read
+144:           block.call(outbuf, errbuf) if block
+145:         end
+146:       }
+147:       [outbuf, errbuf, $?]
+148:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tag_version() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 107
+107:     def tag_version
+108:       sh "git tag -am 'Version #{version}' #{version_tag}"
+109:       Bundler.ui.confirm "Tagged #{tagged_sha} with #{version_tag}"
+110:       yield if block_given?
+111:     rescue
+112:       Bundler.ui.error "Untagged #{tagged_sha} with #{version_tag} due to error"
+113:       sh "git tag -d #{version_tag}"
+114:       raise
+115:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tagged_sha() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 117
+117:     def tagged_sha
+118:       sh("git show-ref --tags #{version_tag}").split(' ').first[0, 8]
+119:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + version() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 121
+121:     def version
+122:       gemspec.version
+123:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + version_tag() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/gem_helper.rb, line 125
+125:     def version_tag
+126:       "v#{version}"
+127:     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.0/rdoc/Bundler/GemHelpers.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelpers.html new file mode 100644 index 00000000..1300d508 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemHelpers.html @@ -0,0 +1,373 @@ + + + + + + + Module: Bundler::GemHelpers + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Methods

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

Class Index + [+]

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

Bundler::GemHelpers

+ +
+ +
+ + + +
+

Constants

+
+ +
GENERIC_CACHE
+ +
+ + +
GENERICS
+ +
+ + +
+
+ + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + generic(p) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 179
+179:     def generic(p)
+180:       if p == Gem::Platform::RUBY
+181:         return p
+182:       end
+183: 
+184:       GENERIC_CACHE[p] ||= GENERICS.find { |p2| p =~ p2 } || Gem::Platform::RUBY
+185:     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.0/rdoc/Bundler/GemNotFound.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemNotFound.html new file mode 100644 index 00000000..2d89b496 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemNotFound.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GemNotFound + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::GemNotFound

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

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.0/rdoc/Bundler/GemfileError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileError.html new file mode 100644 index 00000000..4d49ebdc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GemfileError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::GemfileError

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

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.0/rdoc/Bundler/GemfileNotFound.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileNotFound.html new file mode 100644 index 00000000..22155cfe --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemfileNotFound.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GemfileNotFound + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::GemfileNotFound

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

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.0/rdoc/Bundler/GemspecError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemspecError.html new file mode 100644 index 00000000..7a769f79 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GemspecError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GemspecError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::GemspecError

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

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.0/rdoc/Bundler/GitError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GitError.html new file mode 100644 index 00000000..70cb20f3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GitError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::GitError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::GitError

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

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.0/rdoc/Bundler/Graph.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Graph.html new file mode 100644 index 00000000..22def4e8 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Graph.html @@ -0,0 +1,613 @@ + + + + + + + Class: Bundler::Graph + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::Graph

+ +
+ +
+ + + +
+

Constants

+
+ +
USER_OPTIONS
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(env) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/graph.rb, line 6
+6:     def initialize(env)
+7:       @env = env
+8:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + groups() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/graph.rb, line 15
+15:     def groups
+16:       populate
+17:       @groups
+18:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + nodes() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/graph.rb, line 10
+10:     def nodes
+11:       populate
+12:       @nodes
+13:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + viz(output_file, show_gem_versions = false, show_dependency_requirements = false) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/graph.rb, line 20
+20:     def viz(output_file, show_gem_versions = false, show_dependency_requirements = false)
+21:       require 'graphviz'
+22:       populate
+23: 
+24:       graph_viz = GraphViz::new('Gemfile', {:concentrate => true, :dpi => 65 } )
+25:       graph_viz.edge[:fontname] = graph_viz.node[:fontname] = 'Arial, Helvetica, SansSerif'
+26:       graph_viz.edge[:fontsize] = 12
+27: 
+28:       viz_nodes = {}
+29: 
+30:       # populate all of the nodes
+31:       nodes.each do |name, node|
+32:         label = name.dup
+33:         label << "\n#{node.version}" if show_gem_versions
+34:         options = { :label => label }
+35:         options.merge!( USER_OPTIONS ) if node.is_user
+36:         viz_nodes[name] = graph_viz.add_node( name, options )
+37:       end
+38: 
+39:       group_nodes = {}
+40:       @groups.each do |name, dependencies|
+41:         group_nodes[name] = graph_viz.add_node(name.to_s, { :shape => 'folder', :fontsize => 16 }.merge(USER_OPTIONS))
+42:         dependencies.each do |dependency|
+43:           options = { :weight => 2 }
+44:           if show_dependency_requirements && (dependency.requirement.to_s != ">= 0")
+45:             options[:label] = dependency.requirement.to_s
+46:           end
+47:           graph_viz.add_edge( group_nodes[name], viz_nodes[dependency.name], options )
+48:         end
+49:       end
+50: 
+51:       @groups.keys.select { |group| group != :default }.each do |group|
+52:         graph_viz.add_edge( group_nodes[group], group_nodes[:default], { :weight => 2 } )
+53:       end
+54: 
+55:       viz_nodes.each do |name, node|
+56:         nodes[name].dependencies.each do |dependency|
+57:           options = { }
+58:           if nodes[dependency.name].is_user
+59:             options[:constraint] = false
+60:           end
+61:           if show_dependency_requirements && (dependency.requirement.to_s != ">= 0")
+62:             options[:label] = dependency.requirement.to_s
+63:           end
+64: 
+65:           graph_viz.add_edge( node, viz_nodes[dependency.name], options )
+66:         end
+67:       end
+68: 
+69:       graph_viz.output( :png => output_file )
+70:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + populate() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/graph.rb, line 74
+ 74:     def populate
+ 75:       return if @populated
+ 76: 
+ 77:       # hash of name => GraphNode
+ 78:       @nodes = {}
+ 79:       @groups = {}
+ 80: 
+ 81:       # Populate @nodes
+ 82:       @env.specs.each { |spec| @nodes[spec.name] = GraphNode.new(spec.name, spec.version) }
+ 83: 
+ 84:       # For gems in Gemfile, add details
+ 85:       @env.current_dependencies.each do |dependency|
+ 86:         node = @nodes[dependency.name]
+ 87:         node.is_user = true
+ 88: 
+ 89:         dependency.groups.each do |group|
+ 90:           if @groups.has_key? group
+ 91:             group = @groups[group]
+ 92:           else
+ 93:             group = @groups[group] = []
+ 94:           end
+ 95:           group << dependency
+ 96:         end
+ 97:       end
+ 98: 
+ 99:       # walk though a final time and add edges
+100:       @env.specs.each do |spec|
+101: 
+102:         from = @nodes[spec.name]
+103:         spec.runtime_dependencies.each do |dependency|
+104:           from.dependencies << dependency
+105:         end
+106: 
+107:       end
+108: 
+109:       @nodes.freeze
+110:       @groups.freeze
+111:       @populated = true
+112:     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.0/rdoc/Bundler/GraphNode.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GraphNode.html new file mode 100644 index 00000000..584287a0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/GraphNode.html @@ -0,0 +1,433 @@ + + + + + + + Class: Bundler::GraphNode + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::GraphNode

+ +
+

+Add version info +

+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ dependencies[R] +
+ +
+ + + +
+
+ +
+ + +
+ version[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ is_user[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, version) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/graph.rb, line 119
+119:     def initialize(name, version)
+120:       @name = name
+121:       @version = version
+122:       @is_user = false
+123:       @dependencies = []
+124:     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.0/rdoc/Bundler/Index.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Index.html new file mode 100644 index 00000000..9c15ba08 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Index.html @@ -0,0 +1,902 @@ + + + + + + + Class: Bundler::Index + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

+ +
+ + + + +
+

Included Modules

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

Class Index + [+]

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

Bundler::Index

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

Public Class Methods

+ + +
+ + +
+ + build() + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/index.rb, line 5
+5:     def self.build
+6:       i = new
+7:       yield i
+8:       i
+9:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + new() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 11
+11:     def initialize
+12:       @cache = {}
+13:       @specs = Hash.new { |h,k| h[k] = [] }
+14:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + <<(spec) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 58
+58:     def <<(spec)
+59:       arr = @specs[spec.name]
+60: 
+61:       arr.delete_if do |s|
+62:         s.version == spec.version && s.platform == spec.platform
+63:       end
+64: 
+65:       arr << spec
+66:       spec
+67:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 84
+84:     def ==(o)
+85:       all? do |s|
+86:         s2 = o[s].first and (s.dependencies & s2.dependencies).empty?
+87:       end
+88:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + [](query) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: search +
+ +
+ + +
+ + +
+ + each(&blk) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 69
+69:     def each(&blk)
+70:       @specs.values.each do |specs|
+71:         specs.each(&blk)
+72:       end
+73:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + empty?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 23
+23:     def empty?
+24:       each { return false }
+25:       true
+26:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + initialize_copy(o) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 16
+16:     def initialize_copy(o)
+17:       super
+18:       @cache = {}
+19:       @specs = Hash.new { |h,k| h[k] = [] }
+20:       merge!(o)
+21:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + search(query) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 28
+28:     def search(query)
+29:       case query
+30:       when Gem::Specification, RemoteSpecification, LazySpecification then search_by_spec(query)
+31:       when String then @specs[query]
+32:       else search_by_dependency(query)
+33:       end
+34:     end
+
+ +
+ + +
+ Also aliased as: [] +
+ + + +
+ + +
+ + +
+ + search_for_all_platforms(dependency, base = []) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 36
+36:     def search_for_all_platforms(dependency, base = [])
+37:       specs = @specs[dependency.name] + base
+38: 
+39:       wants_prerelease = dependency.requirement.prerelease?
+40:       only_prerelease  = specs.all? {|spec| spec.version.prerelease? }
+41:       found = specs.select { |spec| dependency =~ spec }
+42: 
+43:       unless wants_prerelease || only_prerelease
+44:         found.reject! { |spec| spec.version.prerelease? }
+45:       end
+46: 
+47:       found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\00"" : s.platform.to_s] }
+48:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sources() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 50
+50:     def sources
+51:       @specs.values.map do |specs|
+52:         specs.map{|s| s.source.class }
+53:       end.flatten.uniq
+54:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + use(other) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 75
+75:     def use(other)
+76:       return unless other
+77:       other.each do |s|
+78:         next if search_by_spec(s).any?
+79:         @specs[s.name] << s
+80:       end
+81:       self
+82:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + search_by_dependency(dependency) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/index.rb, line 98
+ 98:     def search_by_dependency(dependency)
+ 99:       @cache[dependency.hash] ||= begin
+100:         specs = @specs[dependency.name]
+101: 
+102:         wants_prerelease = dependency.requirement.prerelease?
+103:         only_prerelease  = specs.all? {|spec| spec.version.prerelease? }
+104:         found = specs.select { |spec| dependency =~ spec && Gem::Platform.match(spec.platform) }
+105: 
+106:         unless wants_prerelease || only_prerelease
+107:           found.reject! { |spec| spec.version.prerelease? }
+108:         end
+109: 
+110:         found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\00"" : s.platform.to_s] }
+111:       end
+112:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + search_by_spec(spec) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/index.rb, line 92
+92:     def search_by_spec(spec)
+93:       @specs[spec.name].select do |s|
+94:         s.version == spec.version && Gem::Platform.new(s.platform) == Gem::Platform.new(spec.platform)
+95:       end
+96:     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.0/rdoc/Bundler/Installer.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Installer.html new file mode 100644 index 00000000..560a4a07 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Installer.html @@ -0,0 +1,506 @@ + + + + + + + Class: Bundler::Installer + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::Installer

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

Public Class Methods

+ + +
+ + +
+ + install(root, definition, options = {}) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/installer.rb, line 6
+ 6:     def self.install(root, definition, options = {})
+ 7:       installer = new(root, definition)
+ 8:       installer.run(options)
+ 9:       installer
+10:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + run(options) + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+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!
+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
+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:         ensure
+57:           Gem::Command.build_args = old_args
+58:         end
+59: 
+60:         Bundler.ui.info ""
+61:         generate_bundler_executable_stubs(spec) if Bundler.settings[:bin]
+62:         FileUtils.rm_rf(Bundler.tmp)
+63:       end
+64: 
+65:       lock
+66:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + generate_bundler_executable_stubs(spec) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/installer.rb, line 70
+70:     def generate_bundler_executable_stubs(spec)
+71:       bin_path = Bundler.bin_path
+72:       template = File.read(File.expand_path('../templates/Executable', __FILE__))
+73:       relative_gemfile_path = Bundler.default_gemfile.relative_path_from(bin_path)
+74: 
+75:       spec.executables.each do |executable|
+76:         next if executable == "bundle"
+77:         File.open "#{bin_path}/#{executable}", 'w', 0755 do |f|
+78:           f.puts ERB.new(template, nil, '-').result(binding)
+79:         end
+80:       end
+81:     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.0/rdoc/Bundler/InvalidOption.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidOption.html new file mode 100644 index 00000000..b34e1c9f --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidOption.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::InvalidOption + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::InvalidOption

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

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.0/rdoc/Bundler/InvalidSpecSet.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidSpecSet.html new file mode 100644 index 00000000..9ab45b55 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/InvalidSpecSet.html @@ -0,0 +1,313 @@ + + + + + + + Class: Bundler::InvalidSpecSet + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::InvalidSpecSet

+ +
+

+Internal errors, should be rescued +

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

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.0/rdoc/Bundler/LazySpecification.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LazySpecification.html new file mode 100644 index 00000000..10c65882 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LazySpecification.html @@ -0,0 +1,742 @@ + + + + + + + Class: Bundler::LazySpecification + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

+ +
+ + + + +
+

Included Modules

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

Class Index + [+]

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

Bundler::LazySpecification

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

Attributes

+ + +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ version[R] +
+ +
+ + + +
+
+ +
+ + +
+ dependencies[R] +
+ +
+ + + +
+
+ +
+ + +
+ platform[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ source[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, version, platform, source = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 11
+11:     def initialize(name, version, platform, source = nil)
+12:       @name          = name
+13:       @version       = version
+14:       @dependencies  = []
+15:       @platform      = platform
+16:       @source        = source
+17:       @specification = nil
+18:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + __materialize__() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 47
+47:     def __materialize__
+48:       @specification = source.specs.search(Gem::Dependency.new(name, version)).last
+49:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + full_name() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 20
+20:     def full_name
+21:       if platform == Gem::Platform::RUBY or platform.nil? then
+22:         "#{@name}-#{@version}"
+23:       else
+24:         "#{@name}-#{@version}-#{platform}"
+25:       end
+26:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + respond_to?(*args) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 51
+51:     def respond_to?(*args)
+52:       super || @specification.respond_to?(*args)
+53:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + satisfies?(dependency) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 28
+28:     def satisfies?(dependency)
+29:       @name == dependency.name && dependency.requirement.satisfied_by?(Gem::Version.new(@version))
+30:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 32
+32:     def to_lock
+33:       if platform == Gem::Platform::RUBY or platform.nil?
+34:         out = "    #{name} (#{version})\n"
+35:       else
+36:         out = "    #{name} (#{version}-#{platform})\n"
+37:       end
+38: 
+39:       dependencies.sort_by {|d| d.name }.each do |dep|
+40:         next if dep.type == :development
+41:         out << "    #{dep.to_lock}\n"
+42:       end
+43: 
+44:       out
+45:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 55
+55:     def to_s
+56:       "#{name} (#{version})"
+57:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + method_missing(method, *args, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lazy_specification.rb, line 61
+61:     def method_missing(method, *args, &blk)
+62:       if Gem::Specification.new.respond_to?(method)
+63:         raise "LazySpecification has not been materialized yet (calling :#{method} #{args.inspect})" unless @specification
+64:         @specification.send(method, *args, &blk)
+65:       else
+66:         super
+67:       end
+68:     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.0/rdoc/Bundler/LockfileParser.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LockfileParser.html new file mode 100644 index 00000000..cd1f0b66 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/LockfileParser.html @@ -0,0 +1,662 @@ + + + + + + + Class: Bundler::LockfileParser + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::LockfileParser

+ +
+ +
+ + + +
+

Constants

+
+ +
TYPES
+ +
+ + +
NAME_VERSION
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ sources[R] +
+ +
+ + + +
+
+ +
+ + +
+ dependencies[R] +
+ +
+ + + +
+
+ +
+ + +
+ specs[R] +
+ +
+ + + +
+
+ +
+ + +
+ platforms[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(lockfile) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lockfile_parser.rb, line 7
+ 7:     def initialize(lockfile)
+ 8:       @platforms    = []
+ 9:       @sources      = []
+10:       @dependencies = []
+11:       @specs        = []
+12:       @state        = :source
+13: 
+14:       lockfile.split(/\n+/).each do |line|
+15:         if line == "DEPENDENCIES"
+16:           @state = :dependency
+17:         elsif line == "PLATFORMS"
+18:           @state = :platform
+19:         else
+20:           send("parse_#{@state}", line)
+21:         end
+22:       end
+23:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + parse_dependency(line) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lockfile_parser.rb, line 61
+61:     def parse_dependency(line)
+62:       if line =~ %{^ {2}#{NAME_VERSION}(!)?$}
+63:         name, version, pinned = $1, $2, $4
+64:         version = version.split(",").map { |d| d.strip } if version
+65: 
+66:         dep = Bundler::Dependency.new(name, version)
+67: 
+68:         if pinned && dep.name != 'bundler'
+69:           spec = @specs.find { |s| s.name == dep.name }
+70:           dep.source = spec.source if spec
+71: 
+72:           # Path sources need to know what the default name / version
+73:           # to use in the case that there are no gemspecs present. A fake
+74:           # gemspec is created based on the version set on the dependency
+75:           # TODO: Use the version from the spec instead of from the dependency
+76:           if version && version.size == 1 && version.first =~ /^\s*= (.+)\s*$/ && dep.source.is_a?(Bundler::Source::Path)
+77:             dep.source.name    = name
+78:             dep.source.version = $1
+79:           end
+80:         end
+81: 
+82:         @dependencies << dep
+83:       end
+84:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + parse_platform(line) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/lockfile_parser.rb, line 101
+101:     def parse_platform(line)
+102:       if line =~ /^  (.*)$/
+103:         @platforms << Gem::Platform.new($1)
+104:       end
+105:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + parse_source(line) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lockfile_parser.rb, line 33
+33:     def parse_source(line)
+34:       case line
+35:       when "GIT", "GEM", "PATH"
+36:         @current_source = nil
+37:         @opts, @type = {}, line
+38:       when "  specs:"
+39:         @current_source = TYPES[@type].from_lock(@opts)
+40:         @sources << @current_source
+41:       when /^  ([a-z]+): (.*)$/
+42:         value = $2
+43:         value = true if value == "true"
+44:         value = false if value == "false"
+45: 
+46:         key = $1
+47: 
+48:         if @opts[key]
+49:           @opts[key] = Array(@opts[key])
+50:           @opts[key] << value
+51:         else
+52:           @opts[key] = value
+53:         end
+54:       else
+55:         parse_spec(line)
+56:       end
+57:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + parse_spec(line) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/lockfile_parser.rb, line 86
+86:     def parse_spec(line)
+87:       if line =~ %{^ {4}#{NAME_VERSION}$}
+88:         name, version = $1, Gem::Version.new($2)
+89:         platform = $3 ? Gem::Platform.new($3) : Gem::Platform::RUBY
+90:         @current_spec = LazySpecification.new(name, version, platform)
+91:         @current_spec.source = @current_source
+92:         @specs << @current_spec
+93:       elsif line =~ %{^ {6}#{NAME_VERSION}$}
+94:         name, version = $1, $2
+95:         version = version.split(',').map { |d| d.strip } if version
+96:         dep = Gem::Dependency.new(name, version)
+97:         @current_spec.dependencies << dep
+98:       end
+99:     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.0/rdoc/Bundler/MatchPlatform.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/MatchPlatform.html new file mode 100644 index 00000000..eac23cc0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/MatchPlatform.html @@ -0,0 +1,365 @@ + + + + + + + Module: Bundler::MatchPlatform + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Methods

+ +
+ + + + +
+

Included Modules

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

Class Index + [+]

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

Bundler::MatchPlatform

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

Public Instance Methods

+ + +
+ + +
+ + match_platform(p) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 191
+191:     def match_platform(p)
+192:       Gem::Platform::RUBY == platform or
+193:       platform.nil? or p == platform or
+194:       generic(Gem::Platform.new(platform)) == p
+195:     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.0/rdoc/Bundler/PathError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/PathError.html new file mode 100644 index 00000000..7703bd13 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/PathError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::PathError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::PathError

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

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.0/rdoc/Bundler/ProductionError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/ProductionError.html new file mode 100644 index 00000000..5bcd0336 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/ProductionError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Bundler::ProductionError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::ProductionError

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

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.0/rdoc/Bundler/RemoteSpecification.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/RemoteSpecification.html new file mode 100644 index 00000000..cd75adfc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/RemoteSpecification.html @@ -0,0 +1,657 @@ + + + + + + + Class: Bundler::RemoteSpecification + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Included Modules

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

Class Index + [+]

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

Bundler::RemoteSpecification

+ +
+

+Represents a lazily loaded gem specification, where the full specification +is on the source server in rubygems’ “quick” index. The +proxy object is to be seeded with what we’re given from the +source’s abbreviated index - the full specification will only be +fetched when necesary. +

+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ version[R] +
+ +
+ + + +
+
+ +
+ + +
+ platform[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ source[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, version, platform, source_uri) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/remote_specification.rb, line 15
+15:     def initialize(name, version, platform, source_uri)
+16:       @name     = name
+17:       @version  = version
+18:       @platform = platform
+19:       @source_uri = source_uri
+20:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + __swap__(spec) + click to toggle source + +
+ +
+ +

+Because Rubyforge cannot be trusted to provide valid specifications once +the remote gem is downloaded, the backend specification will be swapped +out. +

+ + + +
+
+    # File lib/bundler/remote_specification.rb, line 39
+39:     def __swap__(spec)
+40:       @specification = spec
+41:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + fetch_platform() + click to toggle source + +
+ +
+ +

+Needed before installs, since the arch matters then and quick specs +don’t bother to include the arch in the platform string +

+ + + +
+
+    # File lib/bundler/remote_specification.rb, line 24
+24:     def fetch_platform
+25:       @platform = _remote_specification.platform
+26:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + full_name() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/remote_specification.rb, line 28
+28:     def full_name
+29:       if platform == Gem::Platform::RUBY or platform.nil? then
+30:         "#{@name}-#{@version}"
+31:       else
+32:         "#{@name}-#{@version}-#{platform}"
+33:       end
+34:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + _remote_specification() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/remote_specification.rb, line 45
+45:     def _remote_specification
+46:       @specification ||= begin
+47:         Gem::SpecFetcher.new.fetch_spec([@name, @version, @platform], URI(@source_uri.to_s))
+48:       end
+49:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + method_missing(method, *args, &blk) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/remote_specification.rb, line 51
+51:     def method_missing(method, *args, &blk)
+52:       if Gem::Specification.new.respond_to?(method)
+53:         _remote_specification.send(method, *args, &blk)
+54:       else
+55:         super
+56:       end
+57:     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.0/rdoc/Bundler/Resolver.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver.html new file mode 100644 index 00000000..e37ad88a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver.html @@ -0,0 +1,1101 @@ + + + + + + + Class: Bundler::Resolver + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

+ + + +
+ + + + +
+

Namespace

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

Class Index + [+]

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

Bundler::Resolver

+ +
+ +
+ + + +
+

Constants

+
+ +
ALL
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ errors[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(index, source_requirements, base) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 138
+138:     def initialize(index, source_requirements, base)
+139:       @errors               = {}
+140:       @stack                = []
+141:       @base                 = base
+142:       @index                = index
+143:       @missing_gems         = Hash.new(0)
+144:       @source_requirements  = source_requirements
+145:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve(requirements, index, source_requirements = {}, base = []) + click to toggle source + +
+ +
+ +

+Figures out the best possible configuration of gems that satisfies the list +of passed dependencies and any child dependencies without causing any gem +activation errors. +

+

Parameters

+ + +
*dependencies

+The list of dependencies to resolve +

+
+

Returns

+ + +
,nil

+If the list of dependencies can be resolved, a +

+
+
+  collection of gemspecs is returned. Otherwise, nil is returned.
+ + + +
+
+     # File lib/bundler/resolver.rb, line 127
+127:     def self.resolve(requirements, index, source_requirements = {}, base = [])
+128:       base = SpecSet.new(base) unless base.is_a?(SpecSet)
+129:       resolver = new(index, source_requirements, base)
+130:       result = catch(:success) do
+131:         resolver.start(requirements)
+132:         raise resolver.version_conflict
+133:         nil
+134:       end
+135:       SpecSet.new(result)
+136:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + clean_req(req) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 378
+378:     def clean_req(req)
+379:       if req.to_s.include?(">= 0")
+380:         req.to_s.gsub(/ \(.*?\)$/, '')
+381:       else
+382:         req.to_s.gsub(/\, (runtime|development)\)$/, ')')
+383:       end
+384:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + debug() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 147
+147:     def debug
+148:       if ENV['DEBUG_RESOLVER']
+149:         debug_info = yield
+150:         debug_info = debug_info.inpsect unless debug_info.is_a?(String)
+151:         $stderr.puts debug_info
+152:       end
+153:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + error_message() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 405
+405:     def error_message
+406:       output = errors.inject("") do |o, (conflict, (origin, requirement))|
+407: 
+408:         # origin is the SpecSet of specs from the Gemfile that is conflicted with
+409:         if origin
+410: 
+411:           o << %{Bundler could not find compatible versions for gem "#{origin.name}":\n}
+412:           o << "  In Gemfile:\n"
+413: 
+414:           o << gem_message(requirement)
+415: 
+416:           # If the origin is a LockfileParser, it does not respond_to :required_by
+417:           unless origin.respond_to?(:required_by) && required_by = origin.required_by.first
+418:             o << "  In snapshot (Gemfile.lock):\n"
+419:           end
+420: 
+421:           o << gem_message(origin)
+422: 
+423:         # origin is nil if the required gem and version cannot be found in any of
+424:         # the specified sources
+425:         else
+426: 
+427:           # if the gem cannot be found because of a version conflict between lockfile and gemfile,
+428:           # print a useful error that suggests running `bundle update`, which may fix things
+429:           #
+430:           # @base is a SpecSet of the gems in the lockfile
+431:           # conflict is the name of the gem that could not be found
+432:           if locked = @base[conflict].first
+433:             o << "Bundler could not find compatible versions for gem #{conflict.inspect}:\n"
+434:             o << "  In snapshot (Gemfile.lock):\n"
+435:             o << "    #{clean_req(locked)}\n\n"
+436: 
+437:             o << "  In Gemfile:\n"
+438:             o << gem_message(requirement)
+439:             o << "Running `bundle update` will rebuild your snapshot from scratch, using only\n"
+440:             o << "the gems in your Gemfile, which may resolve the conflict.\n"
+441: 
+442:           # the rest of the time, the gem cannot be found because it does not exist in the known sources
+443:           else
+444:             if requirement.required_by.first
+445:               o << "Could not find gem '#{clean_req(requirement)}', required by '#{clean_req(requirement.required_by.first)}', in any of the sources\n"
+446:             else
+447:               o << "Could not find gem '#{clean_req(requirement)} in any of the sources\n"
+448:             end
+449:           end
+450: 
+451:         end
+452:       end
+453:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem_message(requirement) + click to toggle source + +
+ +
+ +

+For a given conflicted requirement, print out what exactly went wrong +

+ + + +
+
+     # File lib/bundler/resolver.rb, line 391
+391:     def gem_message(requirement)
+392:       m = ""
+393: 
+394:       # A requirement that is required by itself is actually in the Gemfile, and does
+395:       # not "depend on" itself
+396:       if requirement.required_by.first && requirement.required_by.first.name != requirement.name
+397:         m << "    #{clean_req(requirement.required_by.first)} depends on\n"
+398:         m << "      #{clean_req(requirement)}\n"
+399:       else
+400:         m << "    #{clean_req(requirement)}\n"
+401:       end
+402:       m << "\n"
+403:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve(reqs, activated) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 165
+165:     def resolve(reqs, activated)
+166:       # If the requirements are empty, then we are in a success state. Aka, all
+167:       # gem dependencies have been resolved.
+168:       throw :success, successify(activated) if reqs.empty?
+169: 
+170:       debug { print "\e[2J\e[f" ; "==== Iterating ====\n\n" }
+171: 
+172:       # Sort dependencies so that the ones that are easiest to resolve are first.
+173:       # Easiest to resolve is defined by:
+174:       #   1) Is this gem already activated?
+175:       #   2) Do the version requirements include prereleased gems?
+176:       #   3) Sort by number of gems available in the source.
+177:       reqs = reqs.sort_by do |a|
+178:         [ activated[a.name] ? 0 : 1,
+179:           a.requirement.prerelease? ? 0 : 1,
+180:           @errors[a.name]   ? 0 : 1,
+181:           activated[a.name] ? 0 : search(a).size ]
+182:       end
+183: 
+184:       debug { "Activated:\n" + activated.values.map { |a| "  #{a.name} (#{a.version})" }.join("\n") }
+185:       debug { "Requirements:\n" + reqs.map { |r| "  #{r.name} (#{r.requirement})"}.join("\n") }
+186: 
+187:       activated = activated.dup
+188: 
+189:       # Pull off the first requirement so that we can resolve it
+190:       current = reqs.shift
+191: 
+192:       debug { "Attempting:\n  #{current.name} (#{current.requirement})"}
+193: 
+194:       # Check if the gem has already been activated, if it has, we will make sure
+195:       # that the currently activated gem satisfies the requirement.
+196:       existing = activated[current.name]
+197:       if existing || current.name == 'bundler'
+198:         # Force the current
+199:         if current.name == 'bundler' && !existing
+200:           existing = search(DepProxy.new(Gem::Dependency.new('bundler', VERSION), Gem::Platform::RUBY)).first
+201:           activated['bundler'] = existing
+202:           raise GemNotFound, %{Bundler could not find gem "bundler" (#{VERSION})} unless existing
+203:         end
+204: 
+205:         if current.requirement.satisfied_by?(existing.version)
+206:           debug { "    * [SUCCESS] Already activated" }
+207:           @errors.delete(existing.name)
+208:           # Since the current requirement is satisfied, we can continue resolving
+209:           # the remaining requirements.
+210: 
+211:           # I have no idea if this is the right way to do it, but let's see if it works
+212:           # The current requirement might activate some other platforms, so let's try
+213:           # adding those requirements here.
+214:           reqs.concat existing.activate_platform(current.__platform)
+215: 
+216:           resolve(reqs, activated)
+217:         else
+218:           debug { "    * [FAIL] Already activated" }
+219:           @errors[existing.name] = [existing, current]
+220:           debug { current.required_by.map {|d| "      * #{d.name} (#{d.requirement})" }.join("\n") }
+221:           # debug { "    * All current conflicts:\n" + @errors.keys.map { |c| "      - #{c}" }.join("\n") }
+222:           # Since the current requirement conflicts with an activated gem, we need
+223:           # to backtrack to the current requirement's parent and try another version
+224:           # of it (maybe the current requirement won't be present anymore). If the
+225:           # current requirement is a root level requirement, we need to jump back to
+226:           # where the conflicting gem was activated.
+227:           parent = current.required_by.last
+228:           # `existing` could not respond to required_by if it is part of the base set
+229:           # of specs that was passed to the resolver (aka, instance of LazySpecification)
+230:           parent ||= existing.required_by.last if existing.respond_to?(:required_by)
+231:           # We track the spot where the current gem was activated because we need
+232:           # to keep a list of every spot a failure happened.
+233:           debug { "    -> Jumping to: #{parent.name}" }
+234:           if parent
+235:             throw parent.name, existing.respond_to?(:required_by) && existing.required_by.last.name
+236:           else
+237:             # The original set of dependencies conflict with the base set of specs
+238:             # passed to the resolver. This is by definition an impossible resolve.
+239:             raise version_conflict
+240:           end
+241:         end
+242:       else
+243:         # There are no activated gems for the current requirement, so we are going
+244:         # to find all gems that match the current requirement and try them in decending
+245:         # order. We also need to keep a set of all conflicts that happen while trying
+246:         # this gem. This is so that if no versions work, we can figure out the best
+247:         # place to backtrack to.
+248:         conflicts = Set.new
+249: 
+250:         # Fetch all gem versions matching the requirement
+251:         #
+252:         # TODO: Warn / error when no matching versions are found.
+253:         matching_versions = search(current)
+254: 
+255:         if matching_versions.empty?
+256:           if current.required_by.empty?
+257:             if base = @base[current.name] and !base.empty?
+258:               version = base.first.version
+259:               message = "You have requested:\n"                      "  #{current.name} #{current.requirement}\n\n"                      "The bundle currently has #{current.name} locked at #{version}.\n"                      "Try running `bundle update #{current.name}`"
+260:             elsif current.source
+261:               name = current.name
+262:               versions = @source_requirements[name][name].map { |s| s.version }
+263:               message  = "Could not find gem '#{current}' in #{current.source}.\n"
+264:               if versions.any?
+265:                 message << "Source contains '#{name}' at: #{versions.join(', ')}"
+266:               else
+267:                 message << "Source does not contain any versions of '#{current}'"
+268:               end
+269:             else
+270:               message = "Could not find gem '#{current}' "
+271:               if @index.sources.include?(Bundler::Source::Rubygems)
+272:                 message << "in any of the gem sources."
+273:               else
+274:                 message << "in the gems available on this machine."
+275:               end
+276:             end
+277:             raise GemNotFound, message
+278:           else
+279:             if @missing_gems[current] >= 5
+280:               message =  "Bundler could not find find gem #{current.required_by.last},"
+281:               message << "which is required by gem #{current}."
+282:               raise GemNotFound, message
+283:             end
+284:             @missing_gems[current] += 1
+285: 
+286:             debug { "    Could not find #{current} by #{current.required_by.last}" }
+287:             @errors[current.name] = [nil, current]
+288:           end
+289:         end
+290: 
+291:         matching_versions.reverse_each do |spec_group|
+292:           conflict = resolve_requirement(spec_group, current, reqs.dup, activated.dup)
+293:           conflicts << conflict if conflict
+294:         end
+295:         # If the current requirement is a root level gem and we have conflicts, we
+296:         # can figure out the best spot to backtrack to.
+297:         if current.required_by.empty? && !conflicts.empty?
+298:           # Check the current "catch" stack for the first one that is included in the
+299:           # conflicts set. That is where the parent of the conflicting gem was required.
+300:           # By jumping back to this spot, we can try other version of the parent of
+301:           # the conflicting gem, hopefully finding a combination that activates correctly.
+302:           @stack.reverse_each do |savepoint|
+303:             if conflicts.include?(savepoint)
+304:               debug { "    -> Jumping to: #{savepoint}" }
+305:               throw savepoint
+306:             end
+307:           end
+308:         end
+309:       end
+310:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + resolve_requirement(spec_group, requirement, reqs, activated) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 315
+315:     def resolve_requirement(spec_group, requirement, reqs, activated)
+316:       # We are going to try activating the spec. We need to keep track of stack of
+317:       # requirements that got us to the point of activating this gem.
+318:       spec_group.required_by.replace requirement.required_by
+319:       spec_group.required_by << requirement
+320: 
+321:       activated[spec_group.name] = spec_group
+322:       debug { "  Activating: #{spec_group.name} (#{spec_group.version})" }
+323:       debug { spec_group.required_by.map { |d| "    * #{d.name} (#{d.requirement})" }.join("\n") }
+324: 
+325:       dependencies = spec_group.activate_platform(requirement.__platform)
+326: 
+327:       # Now, we have to loop through all child dependencies and add them to our
+328:       # array of requirements.
+329:       debug { "    Dependencies"}
+330:       dependencies.each do |dep|
+331:         next if dep.type == :development
+332:         debug { "    * #{dep.name} (#{dep.requirement})" }
+333:         dep.required_by.replace(requirement.required_by)
+334:         dep.required_by << requirement
+335:         reqs << dep
+336:       end
+337: 
+338:       # We create a savepoint and mark it by the name of the requirement that caused
+339:       # the gem to be activated. If the activated gem ever conflicts, we are able to
+340:       # jump back to this point and try another version of the gem.
+341:       length = @stack.length
+342:       @stack << requirement.name
+343:       retval = catch(requirement.name) do
+344:         resolve(reqs, activated)
+345:       end
+346:       # Since we're doing a lot of throw / catches. A push does not necessarily match
+347:       # up to a pop. So, we simply slice the stack back to what it was before the catch
+348:       # block.
+349:       @stack.slice!(length..1)
+350:       retval
+351:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + search(dep) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 353
+353:     def search(dep)
+354:       if base = @base[dep.name] and base.any?
+355:         d = Gem::Dependency.new(base.first.name, *[dep.requirement.as_list, base.first.version].flatten)
+356:       else
+357:         d = dep.dep
+358:       end
+359:       index = @source_requirements[d.name] || @index
+360:       results = index.search_for_all_platforms(d, @base[d.name])
+361: 
+362:       if results.any?
+363:         version = results.first.version
+364:         nested  = [[]]
+365:         results.each do |spec|
+366:           if spec.version != version
+367:             nested << []
+368:             version = spec.version
+369:           end
+370:           nested.last << spec
+371:         end
+372:         nested.map { |a| SpecGroup.new(a) }.select { |sg| sg.for?(dep.__platform) }
+373:       else
+374:         []
+375:       end
+376:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + start(reqs) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 159
+159:     def start(reqs)
+160:       activated = {}
+161: 
+162:       resolve(reqs, activated)
+163:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + successify(activated) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 155
+155:     def successify(activated)
+156:       activated.values.map { |s| s.to_specs }.flatten.compact
+157:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + version_conflict() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 386
+386:     def version_conflict
+387:       VersionConflict.new(errors.keys, error_message)
+388:     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.0/rdoc/Bundler/Resolver/SpecGroup.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver/SpecGroup.html new file mode 100644 index 00000000..29a97a71 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Resolver/SpecGroup.html @@ -0,0 +1,780 @@ + + + + + + + Class: Bundler::Resolver::SpecGroup + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

+ +
+ + + + +
+

Included Modules

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

Class Index + [+]

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

Bundler::Resolver::SpecGroup

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

Attributes

+ + +
+ + +
+ activated[R] +
+ +
+ + + +
+
+ +
+ + +
+ required_by[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(a) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 34
+34:       def initialize(a)
+35:         super
+36:         @required_by  = []
+37:         @activated    = []
+38:         @dependencies = nil
+39:         @specs        = {}
+40: 
+41:         ALL.each do |p|
+42:           @specs[p] = reverse.find { |s| s.match_platform(p) }
+43:         end
+44:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + activate_platform(platform) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 68
+68:       def activate_platform(platform)
+69:         unless @activated.include?(platform)
+70:           @activated << platform
+71:           return __dependencies[platform] || []
+72:         end
+73:         []
+74:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + for?(platform) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 88
+88:       def for?(platform)
+89:         @specs[platform]
+90:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + initialize_copy(o) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 46
+46:       def initialize_copy(o)
+47:         super
+48:         @required_by = o.required_by.dup
+49:         @activated   = o.activated.dup
+50:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 76
+76:       def name
+77:         @name ||= first.name
+78:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + source() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 84
+84:       def source
+85:         @source ||= first.source
+86:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 92
+92:       def to_s
+93:         "#{name} (#{version})"
+94:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_specs() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 52
+52:       def to_specs
+53:         specs = {}
+54: 
+55:         @activated.each do |p|
+56:           if s = @specs[p]
+57:             platform = generic(Gem::Platform.new(s.platform))
+58:             next if specs[platform]
+59: 
+60:             lazy_spec = LazySpecification.new(name, version, platform, source)
+61:             lazy_spec.dependencies.replace s.dependencies
+62:             specs[platform] = lazy_spec
+63:           end
+64:         end
+65:         specs.values
+66:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + version() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 80
+80:       def version
+81:         @version ||= first.version
+82:       end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + __dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/resolver.rb, line 98
+ 98:       def __dependencies
+ 99:         @dependencies ||= begin
+100:           dependencies = {}
+101:           ALL.each do |p|
+102:             if spec = @specs[p]
+103:               dependencies[p] = []
+104:               spec.dependencies.each do |dep|
+105:                 next if dep.type == :development
+106:                 dependencies[p] << DepProxy.new(dep, p)
+107:               end
+108:             end
+109:           end
+110:           dependencies
+111:         end
+112:       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.0/rdoc/Bundler/Runtime.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Runtime.html new file mode 100644 index 00000000..71cb3be1 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Runtime.html @@ -0,0 +1,705 @@ + + + + + + + Class: Bundler::Runtime + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

+ +
+ + + + +
+

Included Modules

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

Class Index + [+]

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

Bundler::Runtime

+ +
+ +
+ + + +
+

Constants

+
+ +
REGEXPS
+ +
+ + +
+
+ + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + cache() + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + dependencies_for(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + prune_cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # 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
+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
+
+ +
+ + + + +
+ + +
+ + +
+ + require(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + setup(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/runtime.rb, line 7
+ 7:     def setup(*groups)
+ 8:       # Has to happen first
+ 9:       clean_load_path
+10: 
+11:       specs = groups.any? ? @definition.specs_for(groups) : requested_specs
+12: 
+13:       setup_environment
+14:       cripple_rubygems(specs)
+15: 
+16:       # Activate the specs
+17:       specs.each do |spec|
+18:         unless spec.loaded_from
+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
+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
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + cache_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/runtime.rb, line 120
+120:     def cache_path
+121:       root.join("vendor/cache")
+122:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + setup_environment() + click to toggle source + +
+ +
+ + + + + +
+
+     # 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
+
+ +
+ + + + +
+ + +
+ + +
+ + +
+ +

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.0/rdoc/Bundler/Settings.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Settings.html new file mode 100644 index 00000000..64a0484a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Settings.html @@ -0,0 +1,962 @@ + + + + + + + Class: Bundler::Settings + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::Settings

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

Public Class Methods

+ + +
+ + +
+ + new(root) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/settings.rb, line 3
+3:     def initialize(root)
+4:       @root   = root
+5:       @local_config = File.exist?(local_config_file) ? YAML.load_file(local_config_file) : {}
+6:       @global_config = File.exist?(global_config_file) ? YAML.load_file(global_config_file) : {}
+7:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + [](key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 9
+ 9:     def [](key)
+10:       key = key_for(key)
+11:       @local_config[key] || ENV[key] || @global_config[key]
+12:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + []=(key, value) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 14
+14:     def []=(key, value)
+15:       set_key(key, value, @local_config, local_config_file)
+16:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + all() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 26
+26:     def all
+27:       env_keys = ENV.keys.select { |k| k =~ /BUNDLE_.*/ }
+28:       keys = @global_config.keys | @local_config.keys | env_keys
+29: 
+30:       keys.map do |key|
+31:         key.sub(/^BUNDLE_/, '').gsub(/__/, ".").downcase
+32:       end
+33:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + allow_sudo?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 86
+86:     def allow_sudo?
+87:       !@local_config.key?(key_for(:path))
+88:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + delete(key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 18
+18:     def delete(key)
+19:       @local_config
+20:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + locations(key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 35
+35:     def locations(key)
+36:       locations = {}
+37: 
+38:       locations[:local]  = @local_config[key] if @local_config.key?(key)
+39:       locations[:env]    = ENV[key] if ENV[key]
+40:       locations[:global] = @global_config[key] if @global_config.key?(key)
+41:       locations
+42:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + path() + click to toggle source + +
+ +
+ +

+@local_config[“BUNDLE_PATH“] should be prioritized over +ENV[“BUNDLE_PATH“] +

+ + + +
+
+    # File lib/bundler/settings.rb, line 75
+75:     def path
+76:       path = ENV[key_for(:path)] || @global_config[key_for(:path)]
+77:       return path if path && !@local_config.key?(key_for(:path))
+78: 
+79:       if path = self[:path]
+80:         "#{path}/#{Bundler.ruby_scope}"
+81:       else
+82:         Gem.dir
+83:       end
+84:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + pretty_values_for(exposed_key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 44
+44:     def pretty_values_for(exposed_key)
+45:       key = key_for(exposed_key)
+46: 
+47:       locations = []
+48:       if @local_config.key?(key)
+49:         locations << "Set for your local app (#{local_config_file}): #{@local_config[key].inspect}"
+50:       end
+51: 
+52:       if value = ENV[key]
+53:         locations << "Set via $#{key_for(key)}: #{value.inspect}"
+54:       end
+55: 
+56:       if @global_config.key?(key)
+57:         locations << "Set for the current user (#{global_config_file}): #{@global_config[key].inspect}"
+58:       end
+59: 
+60:       return ["You have not configured a value for `#{exposed_key}`"] if locations.empty?
+61:       locations
+62:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + set_global(key, value) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 22
+22:     def set_global(key, value)
+23:       set_key(key, value, @global_config, global_config_file)
+24:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + without() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 70
+70:     def without
+71:       self[:without] ? self[:without].split(":").map { |w| w.to_sym } : []
+72:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + without=(array) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 64
+64:     def without=(array)
+65:       unless array.empty? && without.empty?
+66:         self[:without] = array.join(":")
+67:       end
+68:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + global_config_file() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/settings.rb, line 108
+108:     def global_config_file
+109:       file = ENV["BUNDLE_CONFIG"] || File.join(Gem.user_home, ".bundle/config")
+110:       Pathname.new(file)
+111:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + key_for(key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/settings.rb, line 91
+91:     def key_for(key)
+92:       key = key.to_s.sub(".", "__").upcase
+93:       "BUNDLE_#{key}"
+94:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + local_config_file() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/settings.rb, line 113
+113:     def local_config_file
+114:       Pathname.new("#{@root}/config")
+115:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + set_key(key, value, hash, file) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/settings.rb, line 96
+ 96:     def set_key(key, value, hash, file)
+ 97:       key = key_for(key)
+ 98: 
+ 99:       unless hash[key] == value
+100:         hash[key] = value
+101:         hash.delete(key) if value.nil?
+102:         FileUtils.mkdir_p(file.dirname)
+103:         File.open(file, "w") { |f| f.puts hash.to_yaml }
+104:       end
+105:       value
+106:     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.0/rdoc/Bundler/SharedHelpers.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers.html new file mode 100644 index 00000000..14edacb9 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers.html @@ -0,0 +1,743 @@ + + + + + + + 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:       gemfile or raise GemfileNotFound, "Could not locate 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 48
+48:     def clean_load_path
+49:       # handle 1.9 where system gems are always on the load path
+50:       if defined?(::Gem)
+51:         me = File.expand_path("../../", __FILE__)
+52:         $LOAD_PATH.reject! do |p|
+53:           next if File.expand_path(p).include?(me)
+54:           p != File.dirname(__FILE__) &&
+55:             Gem.path.any? { |gp| p.include?(gp) }
+56:         end
+57:         $LOAD_PATH.uniq!
+58:       end
+59:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + cripple_rubygems(specs) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/shared_helpers.rb, line 73
+ 73:     def cripple_rubygems(specs)
+ 74:       reverse_rubygems_kernel_mixin
+ 75: 
+ 76:       executables = specs.map { |s| s.executables }.flatten
+ 77:       Gem.source_index # ensure RubyGems is fully loaded
+ 78: 
+ 79:      ::Kernel.class_eval do
+ 80:         private
+ 81:         def gem(*) ; end
+ 82:       end
+ 83: 
+ 84:       ::Kernel.send(:define_method, :gem) do |dep, *reqs|
+ 85:         if executables.include? File.basename(caller.first.split(':').first)
+ 86:           return
+ 87:         end
+ 88:         opts = reqs.last.is_a?(Hash) ? reqs.pop : {}
+ 89: 
+ 90:         unless dep.respond_to?(:name) && dep.respond_to?(:requirement)
+ 91:           dep = Gem::Dependency.new(dep, reqs)
+ 92:         end
+ 93: 
+ 94:         spec = specs.find  { |s| s.name == dep.name }
+ 95: 
+ 96:         if spec.nil?
+ 97:           e = Gem::LoadError.new "#{dep.name} is not part of the bundle. Add it to Gemfile."
+ 98:           e.name = dep.name
+ 99:           e.version_requirement = dep.requirement
+100:           raise e
+101:         elsif dep !~ spec
+102:           e = Gem::LoadError.new "can't activate #{dep}, already activated #{spec.full_name}. "                                   "Make sure all dependencies are added to Gemfile."
+103:           e.name = dep.name
+104:           e.version_requirement = dep.requirement
+105:           raise e
+106:         end
+107: 
+108:         true
+109:       end
+110: 
+111:       # === Following hacks are to improve on the generated bin wrappers ===
+112: 
+113:       # Yeah, talk about a hack
+114:       source_index_class = (class << Gem::SourceIndex ; self ; end)
+115:       source_index_class.send(:define_method, :from_gems_in) do |*args|
+116:         source_index = Gem::SourceIndex.new
+117:         source_index.spec_dirs = *args
+118:         source_index.add_specs(*specs)
+119:         source_index
+120:       end
+121: 
+122:       # OMG more hacks
+123:       gem_class = (class << Gem ; self ; end)
+124:       gem_class.send(:define_method, :refresh) { }
+125:       gem_class.send(:define_method, :bin_path) do |name, *args|
+126:         exec_name, *reqs = args
+127: 
+128:         if exec_name == 'bundle'
+129:           return ENV['BUNDLE_BIN_PATH']
+130:         end
+131: 
+132:         spec = nil
+133: 
+134:         if exec_name
+135:           spec = specs.find { |s| s.executables.include?(exec_name) }
+136:           spec or raise Gem::Exception, "can't find executable #{exec_name}"
+137:         else
+138:           spec = specs.find  { |s| s.name == name }
+139:           exec_name = spec.default_executable or raise Gem::Exception, "no default executable for #{spec.full_name}"
+140:         end
+141: 
+142:         gem_bin = File.join(spec.full_gem_path, spec.bindir, exec_name)
+143:         gem_from_path_bin = File.join(File.dirname(spec.loaded_from), spec.bindir, exec_name)
+144:         File.exist?(gem_bin) ? gem_bin : gem_from_path_bin
+145:       end
+146: 
+147:       Gem.clear_paths
+148:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + find_gemfile() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 35
+35:     def find_gemfile
+36:       return ENV['BUNDLE_GEMFILE'] if ENV['BUNDLE_GEMFILE']
+37: 
+38:       previous = nil
+39:       current  = File.expand_path(Dir.pwd)
+40: 
+41:       until !File.directory?(current) || current == previous
+42:         filename = File.join(current, 'Gemfile')
+43:         return filename if File.file?(filename)
+44:         current, previous = File.expand_path("..", current), current
+45:       end
+46:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gem(*) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 81
+81:         def gem(*) ; end
+
+ +
+ + + + +
+ + +
+ + +
+ + reverse_rubygems_kernel_mixin() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 61
+61:     def reverse_rubygems_kernel_mixin
+62:       # Disable rubygems' gem activation system
+63:       ::Kernel.class_eval do
+64:         if private_method_defined?(:gem_original_require)
+65:           alias rubygems_require require
+66:           alias require gem_original_require
+67:         end
+68: 
+69:         undef gem
+70:       end
+71:     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.0/rdoc/Bundler/SharedHelpers/Gem.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem.html new file mode 100644 index 00000000..19f48634 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem.html @@ -0,0 +1,303 @@ + + + + + + + Module: Bundler::SharedHelpers::Gem + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Class Index + [+]

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

Bundler::SharedHelpers::Gem

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

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.0/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html new file mode 100644 index 00000000..ae47becb --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SharedHelpers/Gem/SourceIndex.html @@ -0,0 +1,303 @@ + + + + + + + Module: Bundler::SharedHelpers::Gem::SourceIndex + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Class Index + [+]

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

Bundler::SharedHelpers::Gem::SourceIndex

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

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.0/rdoc/Bundler/Source.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source.html new file mode 100644 index 00000000..3bdb862c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source.html @@ -0,0 +1,316 @@ + + + + + + + Module: Bundler::Source + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Namespace

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

Class Index + [+]

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

Bundler::Source

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

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.0/rdoc/Bundler/Source/Git.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Git.html new file mode 100644 index 00000000..3d315572 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Git.html @@ -0,0 +1,1399 @@ + + + + + + + Class: Bundler::Source::Git + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::Source::Git

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

Attributes

+ + +
+ + +
+ uri[R] +
+ +
+ + + +
+
+ +
+ + +
+ ref[R] +
+ +
+ + + +
+
+ +
+ + +
+ options[R] +
+ +
+ + + +
+
+ +
+ + +
+ submodules[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + from_lock(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 468
+468:       def self.from_lock(options)
+469:         new(options.merge("uri" => options.delete("remote")))
+470:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 459
+459:       def initialize(options)
+460:         super
+461:         @uri        = options["uri"]
+462:         @ref        = options["ref"] || options["branch"] || options["tag"] || 'master'
+463:         @revision   = options["revision"]
+464:         @submodules = options["submodules"]
+465:         @update     = false
+466:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: eql? +
+ +
+ + +
+ + +
+ + eql?(o) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 483
+483:       def eql?(o)
+484:         Git === o            &&
+485:         uri == o.uri         &&
+486:         ref == o.ref         &&
+487:         name == o.name       &&
+488:         version == o.version &&
+489:         submodules == o.submodules
+490:       end
+
+ +
+ + +
+ Also aliased as: == +
+ + + +
+ + +
+ + +
+ + install(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 530
+530:       def install(spec)
+531:         Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} "
+532: 
+533:         unless @installed
+534:           Bundler.ui.debug "  * Checking out revision: #{ref}"
+535:           checkout if allow_git_ops?
+536:           @installed = true
+537:         end
+538:         generate_bin(spec)
+539:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_spec_files() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 541
+541:       def load_spec_files
+542:         super
+543:       rescue PathError, GitError
+544:         raise GitError, "#{to_s} is not checked out. Please run `bundle install`"
+545:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 499
+499:       def name
+500:         File.basename(@uri, '.git')
+501:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 503
+503:       def path
+504:         @install_path ||= begin
+505:           git_scope = "#{base_name}-#{shortref_for_path(revision)}"
+506: 
+507:           if Bundler.requires_sudo?
+508:             Bundler.user_bundle_path.join(Bundler.ruby_scope).join(git_scope)
+509:           else
+510:             Bundler.install_path.join(git_scope)
+511:           end
+512:         end
+513:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ +

+TODO: actually cache git specs +

+ + + +
+
+     # File lib/bundler/source.rb, line 520
+520:       def specs
+521:         if allow_git_ops? && !@update
+522:         # Start by making sure the git cache is up to date
+523:           cache
+524:           checkout
+525:           @update = true
+526:         end
+527:         local_specs
+528:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 472
+472:       def to_lock
+473:         out = "GIT\n"
+474:         out << "  remote: #{@uri}\n"
+475:         out << "  revision: #{revision}\n"
+476:         %(ref branch tag submodules).each do |opt|
+477:           out << "  #{opt}: #{options[opt]}\n" if options[opt]
+478:         end
+479:         out << "  glob: #{@glob}\n" unless @glob == DEFAULT_GLOB
+480:         out << "  specs:\n"
+481:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 494
+494:       def to_s
+495:         ref = @options["ref"] ? shortref_for_display(@options["ref"]) : @ref
+496:         "#{@uri} (at #{ref})"
+497:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + unlock!() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 515
+515:       def unlock!
+516:         @revision = nil
+517:       end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + allow_git_ops?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 636
+636:       def allow_git_ops?
+637:         @allow_remote || @allow_cached
+638:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + base_name() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 564
+564:       def base_name
+565:         File.basename(uri.sub(%{^(\w+://)?([^/:]+:)},''), ".git")
+566:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cache() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 600
+600:       def cache
+601:         if cached?
+602:           return if has_revision_cached?
+603:           Bundler.ui.info "Updating #{uri}"
+604:           in_cache { git %fetch --force --quiet "#{uri}" refs/heads/*:refs/heads/*| }
+605:         else
+606:           Bundler.ui.info "Fetching #{uri}"
+607:           FileUtils.mkdir_p(cache_path.dirname)
+608:           git %clone "#{uri}" "#{cache_path}" --bare --no-hardlinks|
+609:         end
+610:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cache_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 588
+588:       def cache_path
+589:         @cache_path ||= begin
+590:           git_scope = "#{base_name}-#{uri_hash}"
+591: 
+592:           if Bundler.requires_sudo?
+593:             Bundler.user_bundle_path.join("cache/git", git_scope)
+594:           else
+595:             Bundler.cache.join("git", git_scope)
+596:           end
+597:         end
+598:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cached?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 650
+650:       def cached?
+651:         cache_path.exist?
+652:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + checkout() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 612
+612:       def checkout
+613:         unless File.exist?(path.join(".git"))
+614:           FileUtils.mkdir_p(path.dirname)
+615:           git %clone --no-checkout "#{cache_path}" "#{path}"|
+616:         end
+617:         Dir.chdir(path) do
+618:           git %fetch --force --quiet "#{cache_path}"|
+619:           git "reset --hard #{revision}"
+620: 
+621:           if @submodules
+622:             git "submodule init"
+623:             git "submodule update"
+624:           end
+625:         end
+626:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + git(command) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 549
+549:       def git(command)
+550:         if allow_git_ops?
+551:           out = %{git #{command}}
+552: 
+553:           if $? != 0
+554:             raise GitError, "An error has occurred in git when running `git #{command}. Cannot complete bundling."
+555:           end
+556:           out
+557:         else
+558:           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")}"
+559:         end
+560:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + has_revision_cached?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 628
+628:       def has_revision_cached?
+629:         return unless @revision
+630:         in_cache { git %cat-file -e #{@revision}| }
+631:         true
+632:       rescue GitError
+633:         false
+634:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + in_cache(&blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 654
+654:       def in_cache(&blk)
+655:         cache unless cached?
+656:         Dir.chdir(cache_path, &blk)
+657:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + revision() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 640
+640:       def revision
+641:         @revision ||= begin
+642:           if allow_git_ops?
+643:             in_cache { git("rev-parse #{ref}").strip }
+644:           else
+645:             raise GitError, "The git source #{uri} is not yet checked out. Please run `bundle install` before trying to start your application"
+646:           end
+647:         end
+648:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + shortref_for_display(ref) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 568
+568:       def shortref_for_display(ref)
+569:         ref[0..6]
+570:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + shortref_for_path(ref) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 572
+572:       def shortref_for_path(ref)
+573:         ref[0..11]
+574:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + uri_hash() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 576
+576:       def uri_hash
+577:         if uri =~ %{^\w+://(\w+@)?}
+578:           # Downcase the domain component of the URI
+579:           # and strip off a trailing slash, if one is present
+580:           input = URI.parse(uri).normalize.to_s.sub(%{/$},'')
+581:         else
+582:           # If there is no URI scheme, assume it is an ssh/git URI
+583:           input = uri
+584:         end
+585:         Digest::SHA1.hexdigest(input)
+586:       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.0/rdoc/Bundler/Source/Path.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path.html new file mode 100644 index 00000000..7998905d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path.html @@ -0,0 +1,1124 @@ + + + + + + + Class: Bundler::Source::Path + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

+ + + +
+ + + + +
+

Namespace

+ +
+ + + + +
+

Methods

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

Class Index + [+]

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

Bundler::Source::Path

+ +
+ +
+ + + +
+

Constants

+
+ +
DEFAULT_GLOB
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ path[R] +
+ +
+ + + +
+
+ +
+ + +
+ options[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ name[W] +
+ +
+ +

+Kind of a hack, but needed for the lock file parser +

+ +
+
+ +
+ + + + +
+ version[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + from_lock(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 295
+295:       def self.from_lock(options)
+296:         new(options.merge("path" => options.delete("remote")))
+297:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(options) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 272
+272:       def initialize(options)
+273:         @options = options
+274:         @glob = options["glob"] || DEFAULT_GLOB
+275: 
+276:         @allow_cached = false
+277:         @allow_remote = false
+278: 
+279:         if options["path"]
+280:           @path = Pathname.new(options["path"]).expand_path(Bundler.root)
+281:         end
+282: 
+283:         @name = options["name"]
+284:         @version = options["version"]
+285:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: eql? +
+ +
+ + +
+ + +
+ + cache(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 403
+403:       def cache(spec)
+404:         unless path.to_s.index(Bundler.root.to_s) == 0
+405:           Bundler.ui.warn "  * #{spec.name} at `#{path}` will not be cached."
+406:         end
+407:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cached!() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 291
+291:       def cached!
+292:         @allow_cached = true
+293:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + eql?(o) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 314
+314:       def eql?(o)
+315:         o.instance_of?(Path) &&
+316:         path == o.path &&
+317:         name == o.name &&
+318:         version == o.version
+319:       end
+
+ +
+ + +
+ Also aliased as: == +
+ + + +
+ + +
+ + +
+ + hash() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 310
+310:       def hash
+311:         self.class.hash
+312:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + install(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 391
+391:       def install(spec)
+392:         Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} "
+393:         # Let's be honest, when we're working from a path, we can't
+394:         # really expect native extensions to work because the whole point
+395:         # is to just be able to modify what's in that path and go. So, let's
+396:         # not put ourselves through the pain of actually trying to generate
+397:         # the full gem.
+398:         Installer.new(spec).generate_bin
+399:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_spec_files() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 327
+327:       def load_spec_files
+328:         index = Index.new
+329: 
+330:         if File.directory?(path)
+331:           Dir["#{path}/#{@glob}"].each do |file|
+332:             spec = Bundler.load_gemspec(file)
+333:             if spec
+334:               spec.loaded_from = file.to_s
+335:               spec.source = self
+336:               index << spec
+337:             end
+338:           end
+339: 
+340:           if index.empty? && @name && @version
+341:             index << Gem::Specification.new do |s|
+342:               s.name     = @name
+343:               s.source   = self
+344:               s.version  = Gem::Version.new(@version)
+345:               s.platform = Gem::Platform::RUBY
+346:               s.summary  = "Fake gemspec for #{@name}"
+347:               s.relative_loaded_from = "#{@name}.gemspec"
+348:               if path.join("bin").exist?
+349:                 binaries = path.join("bin").children.map{|c| c.basename.to_s }
+350:                 s.executables = binaries
+351:               end
+352:             end
+353:           end
+354:         else
+355:           raise PathError, "The path `#{path}` does not exist."
+356:         end
+357: 
+358:         index
+359:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + local_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 361
+361:       def local_specs
+362:         @local_specs ||= load_spec_files
+363:       end
+
+ +
+ + +
+ Also aliased as: specs +
+ + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 323
+323:       def name
+324:         File.basename(@path.to_s)
+325:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remote!() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 287
+287:       def remote!
+288:         @allow_remote = true
+289:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: local_specs +
+ +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 299
+299:       def to_lock
+300:         out = "PATH\n"
+301:         out << "  remote: #{relative_path}\n"
+302:         out << "  glob: #{@glob}\n" unless @glob == DEFAULT_GLOB
+303:         out << "  specs:\n"
+304:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 306
+306:       def to_s
+307:         "source at #{@path}"
+308:       end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + generate_bin(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 419
+419:       def generate_bin(spec)
+420:         gem_dir  = Pathname.new(spec.full_gem_path)
+421: 
+422:         # Some gem authors put absolute paths in their gemspec
+423:         # and we have to save them from themselves
+424:         spec.files = spec.files.map do |p|
+425:           next if File.directory?(p)
+426:           begin
+427:             Pathname.new(p).relative_path_from(gem_dir).to_s
+428:           rescue ArgumentError
+429:             p
+430:           end
+431:         end.compact
+432: 
+433:         gem_file = Dir.chdir(gem_dir){ Gem::Builder.new(spec).build }
+434: 
+435:         installer = Installer.new(spec, :env_shebang => false)
+436:         installer.build_extensions
+437:         installer.generate_bin
+438:       rescue Gem::InvalidSpecificationException => e
+439:         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."
+440: 
+441:         if !spec.extensions.empty? && !spec.email.empty?
+442:           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`."
+443:         end
+444: 
+445:         Bundler.ui.warn "The validation message from Rubygems was:\n  #{e.message}"
+446:       ensure
+447:         Dir.chdir(gem_dir){ FileUtils.rm_rf(gem_file) if gem_file && File.exist?(gem_file) }
+448:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + relative_path() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 411
+411:       def relative_path
+412:         if path.to_s.include?(Bundler.root.to_s)
+413:           return path.relative_path_from(Bundler.root)
+414:         end
+415: 
+416:         path
+417:       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.0/rdoc/Bundler/Source/Path/Installer.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path/Installer.html new file mode 100644 index 00000000..e3389922 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Path/Installer.html @@ -0,0 +1,417 @@ + + + + + + + Class: Bundler::Source::Path::Installer + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::Source::Path::Installer

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

Public Class Methods

+ + +
+ + +
+ + new(spec, options = {}) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 366
+366:         def initialize(spec, options = {})
+367:           @spec              = spec
+368:           @bin_dir           = Bundler.requires_sudo? ? "#{Bundler.tmp}/bin" : "#{Gem.dir}/bin"
+369:           @gem_dir           = spec.full_gem_path
+370:           @wrappers          = options[:wrappers] || true
+371:           @env_shebang       = options[:env_shebang] || true
+372:           @format_executable = options[:format_executable] || false
+373:         end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + generate_bin() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 375
+375:         def generate_bin
+376:           return if spec.executables.nil? || spec.executables.empty?
+377: 
+378:           if Bundler.requires_sudo?
+379:             FileUtils.mkdir_p("#{Bundler.tmp}/bin") unless File.exist?("#{Bundler.tmp}/bin")
+380:           end
+381:           super
+382:           if Bundler.requires_sudo?
+383:             Bundler.mkdir_p "#{Gem.dir}/bin"
+384:             spec.executables.each do |exe|
+385:               Bundler.sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.dir}/bin/"
+386:             end
+387:           end
+388:         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.0/rdoc/Bundler/Source/Rubygems.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Rubygems.html new file mode 100644 index 00000000..87903960 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/Source/Rubygems.html @@ -0,0 +1,1442 @@ + + + + + + + Class: Bundler::Source::Rubygems + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Bundler::Source::Rubygems

+ +
+

+TODO: Refactor this class +

+ +
+ + + + + + +
+

Attributes

+ + +
+ + +
+ remotes[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + from_lock(options) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 52
+52:       def self.from_lock(options)
+53:         s = new(options)
+54:         Array(options["remote"]).each { |r| s.add_remote(r) }
+55:         s
+56:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + new(options = {}) + click to toggle source + +
+ +
+ + + + + +
+
+    # 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
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + ==(o) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: eql? +
+ +
+ + +
+ + +
+ + add_remote(source) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 128
+128:       def add_remote(source)
+129:         @remotes << normalize_uri(source)
+130:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cache(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 120
+120:       def cache(spec)
+121:         cached_path = cached_gem(spec)
+122:         raise GemNotFound, "Missing gem file '#{spec.full_name}.gem'." unless cached_path
+123:         return if File.dirname(cached_path) == Bundler.app_cache.to_s
+124:         Bundler.ui.info "  * #{File.basename(cached_path)}"
+125:         FileUtils.cp(cached_path, Bundler.app_cache)
+126:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cached!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 28
+28:       def cached!
+29:         @allow_cached = true
+30:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + eql?(o) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 36
+36:       def eql?(o)
+37:         Rubygems === o
+38:       end
+
+ +
+ + +
+ Also aliased as: == +
+ + + +
+ + +
+ + +
+ + fetch(spec) + click to toggle source + +
+ +
+ + + + + +
+
+    # 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 = Gem::Format.from_file_by_path(path).spec
+78:           spec.__swap__(s)
+79:         end
+80:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + hash() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 32
+32:       def hash
+33:         Rubygems.hash
+34:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + install(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 82
+ 82:       def install(spec)
+ 83:         path = cached_gem(spec)
+ 84: 
+ 85:         if installed_specs[spec].any?
+ 86:           Bundler.ui.info "Using #{spec.name} (#{spec.version}) "
+ 87:           return
+ 88:         end
+ 89: 
+ 90:         Bundler.ui.info "Installing #{spec.name} (#{spec.version}) "
+ 91: 
+ 92:         install_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir
+ 93:         options = { :install_dir         => install_path,
+ 94:                     :ignore_dependencies => true,
+ 95:                     :wrappers            => true,
+ 96:                     :env_shebang         => true }
+ 97:         options.merge!(:bin_dir => "#{install_path}/bin") unless spec.executables.nil? || spec.executables.empty?
+ 98: 
+ 99:         installer = Gem::Installer.new path, options
+100:         installer.install
+101: 
+102:         # SUDO HAX
+103:         if Bundler.requires_sudo?
+104:           sudo "mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications"
+105:           sudo "cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/"
+106:           sudo "cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/"
+107:           spec.executables.each do |exe|
+108:             sudo "mkdir -p #{Gem.bindir}"
+109:             sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}"
+110:           end
+111:         end
+112: 
+113:         spec.loaded_from = "#{Gem.dir}/specifications/#{spec.full_name}.gemspec"
+114:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + merge_remotes(source) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 132
+132:       def merge_remotes(source)
+133:         @remotes = []
+134:         source.remotes.each do |r|
+135:           add_remote r.to_s
+136:         end
+137:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + name() + click to toggle source + +
+ +
+ +

+Not really needed, but it seems good to implement this method for interface +consistency. Source name is mostly used to +identify Path & Git +sources +

+ + + +
+
+    # File lib/bundler/source.rb, line 44
+44:       def name
+45:         ":gems"
+46:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + options() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 48
+48:       def options
+49:         { "remotes" => @remotes.map { |r| r.to_s } }
+50:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remote!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 24
+24:       def remote!
+25:         @allow_remote = true
+26:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + specs() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 69
+69:       def specs
+70:         @specs ||= fetch_specs
+71:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + sudo(str) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 116
+116:       def sudo(str)
+117:         Bundler.sudo(str)
+118:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 58
+58:       def to_lock
+59:         out = "GEM\n"
+60:         out << remotes.map {|r| "  remote: #{r}\n" }.join
+61:         out << "  specs:\n"
+62:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_s() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/source.rb, line 64
+64:       def to_s
+65:         remotes = self.remotes.map { |r| r.to_s }.join(', ')
+66:         "rubygems repository #{remotes}"
+67:       end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + cached_gem(spec) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 141
+141:       def cached_gem(spec)
+142:         possibilities = @caches.map { |p| "#{p}/#{spec.full_name}.gem" }
+143:         possibilities.find { |p| File.exist?(p) }
+144:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + cached_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 192
+192:       def cached_specs
+193:         @cached_specs ||= begin
+194:           idx = Index.new
+195:           @caches.each do |path|
+196:             Dir["#{path}/*.gem"].each do |gemfile|
+197:               next if name == 'bundler'
+198:               s = Gem::Format.from_file_by_path(gemfile).spec
+199:               s.source = self
+200:               idx << s
+201:             end
+202:           end
+203:           idx
+204:         end
+205:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + download_gem_from_uri(spec, uri) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 246
+246:       def download_gem_from_uri(spec, uri)
+247:         spec.fetch_platform
+248: 
+249:         download_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir
+250:         gem_path = "#{Gem.dir}/cache/#{spec.full_name}.gem"
+251: 
+252:         FileUtils.mkdir_p("#{download_path}/cache")
+253:         Gem::RemoteFetcher.fetcher.download(spec, uri, download_path)
+254: 
+255:         if Bundler.requires_sudo?
+256:           sudo "mkdir -p #{Gem.dir}/cache"
+257:           sudo "mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}"
+258:         end
+259: 
+260:         gem_path
+261:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + fetch_all_remote_specs(&blk) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 231
+231:       def fetch_all_remote_specs(&blk)
+232:         begin
+233:           # Fetch all specs, minus prerelease specs
+234:           Gem::SpecFetcher.new.list(true, false).each(&blk)
+235:           # Then fetch the prerelease specs
+236:           begin
+237:             Gem::SpecFetcher.new.list(false, true).each(&blk)
+238:           rescue Gem::RemoteFetcher::FetchError
+239:             Bundler.ui.warn "Could not fetch prerelease specs from #{self}"
+240:           end
+241:         rescue Gem::RemoteFetcher::FetchError
+242:           Bundler.ui.warn "Could not reach #{self}"
+243:         end
+244:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + fetch_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 154
+154:       def fetch_specs
+155:         Index.build do |idx|
+156:           idx.use installed_specs
+157:           idx.use cached_specs if @allow_cached || @allow_remote
+158:           idx.use remote_specs if @allow_remote
+159:         end
+160:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + installed_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 162
+162:       def installed_specs
+163:         @installed_specs ||= begin
+164:           idx = Index.new
+165:           have_bundler = false
+166:           Gem::SourceIndex.from_installed_gems.to_a.reverse.each do |dont_use_this_var, spec|
+167:             next if spec.name == 'bundler' && spec.version.to_s != VERSION
+168:             have_bundler = true if spec.name == 'bundler'
+169:             spec.source = self
+170:             idx << spec
+171:           end
+172: 
+173:           # Always have bundler locally
+174:           unless have_bundler
+175:            # We're running bundler directly from the source
+176:            # so, let's create a fake gemspec for it (it's a path)
+177:            # gemspec
+178:            bundler = Gem::Specification.new do |s|
+179:              s.name     = 'bundler'
+180:              s.version  = VERSION
+181:              s.platform = Gem::Platform::RUBY
+182:              s.source   = self
+183:              # TODO: Remove this
+184:              s.loaded_from = 'w0t'
+185:            end
+186:            idx << bundler
+187:           end
+188:           idx
+189:         end
+190:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + normalize_uri(uri) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 146
+146:       def normalize_uri(uri)
+147:         uri = uri.to_s
+148:         uri = "#{uri}/" unless uri =~ %/$'
+149:         uri = URI(uri)
+150:         raise ArgumentError, "The source must be an absolute URI" unless uri.absolute?
+151:         uri
+152:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remote_specs() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/source.rb, line 207
+207:       def remote_specs
+208:         @remote_specs ||= begin
+209:           idx     = Index.new
+210:           old     = Gem.sources
+211: 
+212:           remotes.each do |uri|
+213:             Bundler.ui.info "Fetching source index for #{uri}"
+214:             Gem.sources = ["#{uri}"]
+215:             fetch_all_remote_specs do |n,v|
+216:               v.each do |name, version, platform|
+217:                 next if name == 'bundler'
+218:                 spec = RemoteSpecification.new(name, version, platform, uri)
+219:                 spec.source = self
+220:                 @spec_fetch_map[spec.full_name] = [spec, uri]
+221:                 idx << spec
+222:               end
+223:             end
+224:           end
+225:           idx
+226:         ensure
+227:           Gem.sources = old
+228:         end
+229:       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.0/rdoc/Bundler/SpecSet.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SpecSet.html new file mode 100644 index 00000000..f250de89 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/SpecSet.html @@ -0,0 +1,955 @@ + + + + + + + Class: Bundler::SpecSet + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

+ +
+ + + + +
+

Included Modules

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

Class Index + [+]

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

Bundler::SpecSet

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

Public Class Methods

+ + +
+ + +
+ + new(specs) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/spec_set.rb, line 7
+7:     def initialize(specs)
+8:       @specs = specs.sort_by { |s| s.name }
+9:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + [](key) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 59
+59:     def [](key)
+60:       key = key.name if key.respond_to?(:name)
+61:       lookup[key].reverse
+62:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + []=(key, value) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 64
+64:     def []=(key, value)
+65:       @specs << value
+66:       @lookup = nil
+67:       @sorted = nil
+68:       value
+69:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + each() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 11
+11:     def each
+12:       sorted.each { |s| yield s }
+13:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + for(dependencies, skip = [], check = false, match_current_platform = false) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 19
+19:     def for(dependencies, skip = [], check = false, match_current_platform = false)
+20:       handled, deps, specs = {}, dependencies.dup, []
+21:       skip << 'bundler'
+22: 
+23:       until deps.empty?
+24:         dep = deps.shift
+25:         next if handled[dep] || skip.include?(dep.name)
+26: 
+27:         spec = lookup[dep.name].find do |s|
+28:           match_current_platform ?
+29:             Gem::Platform.match(s.platform) :
+30:             s.match_platform(dep.__platform)
+31:         end
+32: 
+33:         handled[dep] = true
+34: 
+35:         if spec
+36:           specs << spec
+37: 
+38:           spec.dependencies.each do |d|
+39:             next if d.type == :development
+40:             d = DepProxy.new(d, dep.__platform) unless match_current_platform
+41:             deps << d
+42:           end
+43:         elsif check
+44:           return false
+45:         end
+46:       end
+47: 
+48:       if spec = lookup['bundler'].first
+49:         specs << spec
+50:       end
+51: 
+52:       check ? true : SpecSet.new(specs)
+53:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + length() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 15
+15:     def length
+16:       @specs.length
+17:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + materialize(deps, missing_specs = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 79
+79:     def materialize(deps, missing_specs = nil)
+80:       materialized = self.for(deps, [], false, true).to_a
+81:       materialized.map! do |s|
+82:         next s unless s.is_a?(LazySpecification)
+83:         spec = s.__materialize__
+84:         if missing_specs
+85:           missing_specs << s unless spec
+86:         else
+87:           raise GemNotFound, "Could not find #{s.full_name} in any of the sources" unless spec
+88:         end
+89:         spec if spec
+90:       end
+91:       SpecSet.new(materialized.compact)
+92:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + merge(set) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 94
+ 94:     def merge(set)
+ 95:       arr = sorted.dup
+ 96:       set.each do |s|
+ 97:         next if arr.any? { |s2| s2.name == s.name && s2.version == s.version && s2.platform == s.platform }
+ 98:         arr << s
+ 99:       end
+100:       SpecSet.new(arr)
+101:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_a() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 71
+71:     def to_a
+72:       sorted.dup
+73:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_hash() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 75
+75:     def to_hash
+76:       lookup.dup
+77:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + valid_for?(deps) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/spec_set.rb, line 55
+55:     def valid_for?(deps)
+56:       self.for(deps, [], true)
+57:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + lookup() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 110
+110:     def lookup
+111:       @lookup ||= begin
+112:         lookup = Hash.new { |h,k| h[k] = [] }
+113:         specs = @specs.sort_by do |s|
+114:           s.platform.to_s == 'ruby' ? "\00"" : s.platform.to_s
+115:         end
+116:         specs.reverse_each do |s|
+117:           lookup[s.name] << s
+118:         end
+119:         lookup
+120:       end
+121:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + sorted() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 105
+105:     def sorted
+106:       rake = @specs.find { |s| s.name == 'rake' }
+107:       @sorted ||= ([rake] + tsort).compact.uniq
+108:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tsort_each_child(s) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 127
+127:     def tsort_each_child(s)
+128:       s.dependencies.sort_by { |d| d.name }.each do |d|
+129:         next if d.type == :development
+130:         lookup[d.name].each { |s2| yield s2 }
+131:       end
+132:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + tsort_each_node() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/spec_set.rb, line 123
+123:     def tsort_each_node
+124:       @specs.each { |s| yield s }
+125:     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.0/rdoc/Bundler/UI.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI.html new file mode 100644 index 00000000..5c1e9857 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI.html @@ -0,0 +1,474 @@ + + + + + + + Class: Bundler::UI + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

+ + + +
+ + + + +
+

Namespace

+ +
+ + + + +
+

Methods

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

Class Index + [+]

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

Bundler::UI

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

Public Instance Methods

+ + +
+ + +
+ + confirm(message) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 12
+12:     def confirm(message)
+13:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + error(message) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/ui.rb, line 6
+6:     def error(message)
+7:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + info(message) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 9
+ 9:     def info(message)
+10:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + warn(message) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/ui.rb, line 3
+3:     def warn(message)
+4:     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.0/rdoc/Bundler/UI/RGProxy.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/RGProxy.html new file mode 100644 index 00000000..070bd98a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/RGProxy.html @@ -0,0 +1,405 @@ + + + + + + + Class: Bundler::UI::RGProxy + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::UI::RGProxy

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

Public Class Methods

+ + +
+ + +
+ + new(ui) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 47
+47:       def initialize(ui)
+48:         @ui = ui
+49:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + say(message) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 51
+51:       def say(message)
+52:         if message =~ /native extensions/
+53:           @ui.info "with native extensions "
+54:         else
+55:           @ui.debug(message)
+56:         end
+57:       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.0/rdoc/Bundler/UI/Shell.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/Shell.html new file mode 100644 index 00000000..99751622 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/UI/Shell.html @@ -0,0 +1,582 @@ + + + + + + + Class: Bundler::UI::Shell + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::UI::Shell

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

Public Class Methods

+ + +
+ + +
+ + new(shell) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 16
+16:       def initialize(shell)
+17:         @shell = shell
+18:         @quiet = false
+19:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + be_quiet!() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 41
+41:       def be_quiet!
+42:         @quiet = true
+43:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + confirm(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 29
+29:       def confirm(msg)
+30:         @shell.say(msg, :green) if !@quiet
+31:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + debug(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 21
+21:       def debug(msg)
+22:         @shell.say(msg) if ENV['DEBUG'] && !@quiet
+23:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + error(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 37
+37:       def error(msg)
+38:         @shell.say(msg, :red)
+39:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + info(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 25
+25:       def info(msg)
+26:         @shell.say(msg) if !@quiet
+27:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + warn(msg) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/ui.rb, line 33
+33:       def warn(msg)
+34:         @shell.say(msg, :yellow)
+35:       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.0/rdoc/Bundler/VersionConflict.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/VersionConflict.html new file mode 100644 index 00000000..f19f3bf2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Bundler/VersionConflict.html @@ -0,0 +1,381 @@ + + + + + + + Class: Bundler::VersionConflict + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Bundler::VersionConflict

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

Attributes

+ + +
+ + +
+ conflicts[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(conflicts, msg = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler.rb, line 56
+56:     def initialize(conflicts, msg = nil)
+57:       super(msg)
+58:       @conflicts = conflicts
+59:     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.0/rdoc/File.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/File.html new file mode 100644 index 00000000..06b6749a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/File.html @@ -0,0 +1,310 @@ + + + + + + + Class: File + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Parent

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

Class Index + [+]

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

File

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

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.0/rdoc/Gem.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem.html new file mode 100644 index 00000000..0c66fa84 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem.html @@ -0,0 +1,326 @@ + + + + + + + Module: Gem + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Namespace

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

Class Index + [+]

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

Gem

+ +
+

+Extending Gem classes to add necessary tracking +information +

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

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.0/rdoc/Gem/Dependency.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Dependency.html new file mode 100644 index 00000000..3199f874 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Dependency.html @@ -0,0 +1,517 @@ + + + + + + + Class: Gem::Dependency + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ + + +
+ + + +
+

Parent

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

Methods

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

Class Index + [+]

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

Gem::Dependency

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

Attributes

+ + +
+ + + + +
+ source[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ groups[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + +
+ + required_by() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 16
+16:     def required_by
+17:       @required_by ||= []
+18:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + requirement() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/shared_helpers.rb, line 8
+ 8:       def requirement
+ 9:         version_requirements
+10:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_lock() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 112
+112:     def to_lock
+113:       out = "  #{name}"
+114:       unless requirement == Gem::Requirement.default
+115:         out << " (#{requirement.to_s})"
+116:       end
+117:       out
+118:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + to_yaml_properties() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 108
+108:     def to_yaml_properties
+109:       instance_variables.reject { |p| ["@source", "@groups"].include?(p.to_s) }
+110:     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.0/rdoc/Gem/Platform.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Platform.html new file mode 100644 index 00000000..e59bd3d0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Platform.html @@ -0,0 +1,381 @@ + + + + + + + Class: Gem::Platform + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Gem::Platform

+ +
+ +
+ + + +
+

Constants

+
+ +
JAVA
+ +
+ + +
MSWIN
+ +
+ + +
MING
+ +
+ + +
+
+ + + + + + + +
+

Public Instance Methods

+ + +
+ + +
+ + hash() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/rubygems_ext.rb, line 126
+126:     def hash
+127:       @cpu.hash + @os.hash + @version.hash
+128:     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.0/rdoc/Gem/Specification.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Specification.html new file mode 100644 index 00000000..8d0b391c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Gem/Specification.html @@ -0,0 +1,870 @@ + + + + + + + Class: Gem::Specification + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Included Modules

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

Class Index + [+]

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

Gem::Specification

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

Attributes

+ + +
+ + + + +
+ source[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ location[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ relative_loaded_from[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + +
+ + add_bundler_dependencies(*groups) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 67
+67:     def add_bundler_dependencies(*groups)
+68:       Bundler.ui.warn "#add_bundler_dependencies is deprecated and will "          "be removed in Bundler 1.0. Instead, please use the #gemspec method "          "in your Gemfile, which will pull in any dependencies specified in "          "your gemspec"
+69: 
+70:       groups = [:default] if groups.empty?
+71:       Bundler.definition.dependencies.each do |dep|
+72:         if dep.groups.include?(:development)
+73:           self.add_development_dependency(dep.name, dep.requirement.to_s)
+74:         elsif (dep.groups & groups).any?
+75:           self.add_dependency(dep.name, dep.requirement.to_s)
+76:         end
+77:       end
+78:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + full_gem_path() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 20
+20:     def full_gem_path
+21:       source.respond_to?(:path) ?
+22:         Pathname.new(loaded_from).dirname.expand_path.to_s :
+23:         rg_full_gem_path
+24:     end
+
+ +
+ + +
+ Also aliased as: rg_full_gem_path +
+ + + +
+ + +
+ + +
+ + git_version() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 46
+46:     def git_version
+47:       if @loaded_from && File.exist?(File.join(full_gem_path, ".git"))
+48:         sha = Dir.chdir(full_gem_path){ `git rev-parse HEAD`.strip }
+49:         " #{sha[0..6]}"
+50:       end
+51:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + groups() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 42
+42:     def groups
+43:       @groups ||= []
+44:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_paths() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 32
+32:     def load_paths
+33:       require_paths.map do |require_path|
+34:         if require_path.include?(full_gem_path)
+35:           require_path
+36:         else
+37:           File.join(full_gem_path, require_path)
+38:         end
+39:       end
+40:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + loaded_from() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 26
+26:     def loaded_from
+27:       relative_loaded_from ?
+28:         source.path.join(relative_loaded_from).to_s :
+29:         rg_loaded_from
+30:     end
+
+ +
+ + +
+ Also aliased as: rg_loaded_from +
+ + + +
+ + +
+ + +
+ + nondevelopment_dependencies() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 63
+63:     def nondevelopment_dependencies
+64:       dependencies - development_dependencies
+65:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + required_by() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/resolver.rb, line 11
+11:     def required_by
+12:       @required_by ||= []
+13:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + rg_full_gem_path() + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: full_gem_path +
+ +
+ + +
+ + +
+ + rg_loaded_from() + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: loaded_from +
+ +
+ + +
+ + +
+ + to_gemfile(path = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 53
+53:     def to_gemfile(path = nil)
+54:       gemfile = "source :gemcutter\n"
+55:       gemfile << dependencies_to_gemfile(nondevelopment_dependencies)
+56:       unless development_dependencies.empty?
+57:         gemfile << "\n"
+58:         gemfile << dependencies_to_gemfile(development_dependencies, :development)
+59:       end
+60:       gemfile
+61:     end
+
+ +
+ + + + +
+ + +
+ +
+

Private Instance Methods

+ + +
+ + +
+ + dependencies_to_gemfile(dependencies, group = nil) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/rubygems_ext.rb, line 85
+85:     def dependencies_to_gemfile(dependencies, group = nil)
+86:       gemfile = ''
+87:       if dependencies.any?
+88:         gemfile << "group :#{group} do\n" if group
+89:         dependencies.each do |dependency|
+90:           gemfile << '  ' if group
+91:           gemfile << %gem "#{dependency.name}"|
+92:           req = dependency.requirements_list.first
+93:           gemfile << %, "#{req}"| if req
+94:           gemfile << "\n"
+95:         end
+96:         gemfile << "end\n" if group
+97:       end
+98:       gemfile
+99:     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.0/rdoc/Thor.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor.html new file mode 100644 index 00000000..b904896e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor.html @@ -0,0 +1,1219 @@ + + + + + + + Class: Thor + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ + + +
+ + + +
+

Parent

+ + + +
+ + + + +
+

Namespace

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

Included Modules

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

Class Index + [+]

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

Thor

+ +
+ +
+ + + +
+

Constants

+
+ +
HELP_MAPPINGS
+ +

+Shortcuts for help. +

+ + +
THOR_RESERVED_WORDS
+ +

+Thor methods that should not be overwritten by the +user. +

+ + +
VERSION
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + check_unknown_options!(options={}) + click to toggle source + +
+ +
+ +

+Extend check unknown options to accept a hash of conditions. +

+

Parameters

+

+options: A hash containing :only and/or :except keys +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 195
+195:     def check_unknown_options!(options={})
+196:       @check_unknown_options ||= Hash.new
+197:       options.each do |key, value|
+198:         if value
+199:           @check_unknown_options[key] = Array(value)
+200:         else
+201:           @check_unknown_options.delete(key)
+202:         end
+203:       end
+204:       @check_unknown_options
+205:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + default_task(meth=nil) + click to toggle source + +
+ +
+ +

+Sets the default task when thor is executed without an explicit task to be +called. +

+

Parameters

+ + +
meth

+name of the defaut task +

+
+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 10
+10:     def default_task(meth=nil)
+11:       case meth
+12:         when :none
+13:           @default_task = 'help'
+14:         when nil
+15:           @default_task ||= from_superclass(:default_task, 'help')
+16:         else
+17:           @default_task = meth.to_s
+18:       end
+19:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + desc(usage, description, options={}) + click to toggle source + +
+ +
+ +

+Defines the usage and the description of the next task. +

+

Parameters

+

+usage description options +

+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 28
+28:     def desc(usage, description, options={})
+29:       if options[:for]
+30:         task = find_and_refresh_task(options[:for])
+31:         task.usage = usage             if usage
+32:         task.description = description if description
+33:       else
+34:         @usage, @desc, @hide = usage, description, options[:hide] || false
+35:       end
+36:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + help(shell, subcommand = false) + click to toggle source + +
+ +
+ +

+Prints help information for this class. +

+

Parameters

+

+shell +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 157
+157:     def help(shell, subcommand = false)
+158:       list = printable_tasks(true, subcommand)
+159:       Thor::Util.thor_classes_in(self).each do |klass|
+160:         list += klass.printable_tasks(false)
+161:       end
+162:       list.sort!{ |a,b| a[0] <=> b[0] }
+163: 
+164:       shell.say "Tasks:"
+165:       shell.print_table(list, :ident => 2, :truncate => true)
+166:       shell.say
+167:       class_options_help(shell)
+168:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + long_desc(long_description, options={}) + click to toggle source + +
+ +
+ +

+Defines the long description of the next task. +

+

Parameters

+

+long description +

+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 43
+43:     def long_desc(long_description, options={})
+44:       if options[:for]
+45:         task = find_and_refresh_task(options[:for])
+46:         task.long_description = long_description if long_description
+47:       else
+48:         @long_desc = long_description
+49:       end
+50:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + map(mappings=nil) + click to toggle source + +
+ +
+ +

+Maps an input to a task. If you define: +

+
+  map "-T" => "list"
+
+

+Running: +

+
+  thor -T
+
+

+Will invoke the list task. +

+

Parameters

+ + +
Hash[String|Array => Symbol]

+Maps the string or the strings in the array to the given task. +

+
+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 65
+65:     def map(mappings=nil)
+66:       @map ||= from_superclass(:map, {})
+67: 
+68:       if mappings
+69:         mappings.each do |key, value|
+70:           if key.respond_to?(:each)
+71:             key.each {|subkey| @map[subkey] = value}
+72:           else
+73:             @map[key] = value
+74:           end
+75:         end
+76:       end
+77: 
+78:       @map
+79:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + method_option(name, options={}) + click to toggle source + +
+ +
+ +

+Adds an option to the set of method options. If :for is given as option, it +allows you to change the options from a previous defined task. +

+
+  def previous_task
+    # magic
+  end
+
+  method_option :foo => :bar, :for => :previous_task
+
+  def next_task
+    # magic
+  end
+
+

Parameters

+ + + +
name

+The name of the argument. +

+
options

+Described below. +

+
+

Options

+

+:desc - Description for the argument. :required - If the argument is +required or not. :default - Default value for this argument. It cannot be +required and have default values. :aliases - Aliases for this option. +:type - The type of the argument, can be :string, :hash, :array, +:numeric or :boolean. :banner - String to show on usage notes. +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 119
+119:     def method_option(name, options={})
+120:       scope = if options[:for]
+121:         find_and_refresh_task(options[:for]).options
+122:       else
+123:         method_options
+124:       end
+125: 
+126:       build_option(name, options, scope)
+127:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + method_options(options=nil) + click to toggle source + +
+ +
+ +

+Declares the options for the next task to be declared. +

+

Parameters

+ + +
Hash[Symbol => Object]

+The hash key is the name of the option and the value +

+
+

+is the type of the option. Can be :string, :array, :hash, :boolean, +:numeric or :required (string). If you give a value, the type of the value +is used. +

+ + + +
+
+    # File lib/bundler/vendor/thor.rb, line 88
+88:     def method_options(options=nil)
+89:       @method_options ||= {}
+90:       build_options(options, @method_options) if options
+91:       @method_options
+92:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + printable_tasks(all = true, subcommand = false) + click to toggle source + +
+ +
+ +

+Returns tasks ready to be printed. +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 171
+171:     def printable_tasks(all = true, subcommand = false)
+172:       (all ? all_tasks : tasks).map do |_, task|
+173:         next if task.hidden?
+174:         item = []
+175:         item << banner(task, false, subcommand)
+176:         item << (task.description ? "# #{task.description.gsub(/\s+/m,' ')}" : "")
+177:         item
+178:       end.compact
+179:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + subcommand(subcommand, subcommand_class) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor.rb, line 185
+185:     def subcommand(subcommand, subcommand_class)
+186:       self.subcommands << subcommand.to_s
+187:       subcommand_class.subcommand_help subcommand
+188:       define_method(subcommand) { |*args| invoke subcommand_class, args }
+189:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + subcommands() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor.rb, line 181
+181:     def subcommands
+182:       @subcommands ||= from_superclass(:subcommands, [])
+183:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + task_help(shell, task_name) + click to toggle source + +
+ +
+ +

+Prints help information for the given task. +

+

Parameters

+

+shell task_name +

+ + + +
+
+     # File lib/bundler/vendor/thor.rb, line 135
+135:     def task_help(shell, task_name)
+136:       meth = normalize_task_name(task_name)
+137:       task = all_tasks[meth]
+138:       handle_no_task_error(meth) unless task
+139: 
+140:       shell.say "Usage:"
+141:       shell.say "  #{banner(task)}"
+142:       shell.say
+143:       class_options_help(shell, nil => task.options.map { |_, o| o })
+144:       if task.long_description
+145:         shell.say "Description:"
+146:         shell.print_wrapped(task.long_description, :ident => 2)
+147:       else
+148:         shell.say task.description
+149:       end
+150:     end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Class Methods

+ + + + + +
+ + +
+ + subcommand_help(cmd) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor.rb, line 302
+302:       def subcommand_help(cmd)
+303:         desc "help [COMMAND]", "Describe subcommands or one specific subcommand"
+304:         class_eval           def help(task = nil, subcommand = true); super; end
+305:       end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + help(task = nil, subcommand = false) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor.rb, line 316
+316:   def help(task = nil, subcommand = false)
+317:     task ? self.class.task_help(shell, task) : self.class.help(shell, subcommand)
+318:   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.0/rdoc/Thor/Actions.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions.html new file mode 100644 index 00000000..de51c33a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions.html @@ -0,0 +1,1945 @@ + + + + + + + Module: Thor::Actions + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Class Index + [+]

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

Thor::Actions

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

Attributes

+ + +
+ + + + +
+ behavior[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(args=[], options={}, config={}) + click to toggle source + +
+ +
+ +

+Extends initializer to add more configuration options. +

+

Configuration

+ + + +
behavior

+The actions default behavior. Can be :invoke or :revoke. It also accepts +:force, :skip and :pretend to set the behavior and the respective option. +

+
destination_root

+The root directory needed for some actions. +

+
+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 72
+72:     def initialize(args=[], options={}, config={})
+73:       self.behavior = case config[:behavior].to_s
+74:         when "force", "skip"
+75:           _cleanup_options_and_set(options, config[:behavior])
+76:           :invoke
+77:         when "revoke"
+78:           :revoke
+79:         else
+80:           :invoke
+81:       end
+82: 
+83:       super
+84:       self.destination_root = config[:destination_root]
+85:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + add_file(destination, *args, &block) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: create_file +
+ +
+ + +
+ + +
+ + append_file(path, *args, &block) + click to toggle source + +
+ +
+ +

+Append text to a file. Since it depends on inject_into_file, +it’s reversible. +

+

Parameters

+ + + + +
path

+path of the file to be changed +

+
data

+the data to append to the file, can be also given as a block. +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  append_file 'config/environments/test.rb', 'config.gem "rspec"'
+
+  append_file 'config/environments/test.rb' do
+    'config.gem "rspec"'
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 149
+149:     def append_file(path, *args, &block)
+150:       config = args.last.is_a?(Hash) ? args.pop : {}
+151:       config.merge!(:before => /\z/)
+152:       inject_into_file(path, *(args << config), &block)
+153:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + apply(path, config={}) + click to toggle source + +
+ +
+ +

+Loads an external file and execute it in the instance binding. +

+

Parameters

+ + +
path

+The path to the file to execute. Can be a web address or a relative path +from the source root. +

+
+

Examples

+
+  apply "http://gist.github.com/103208"
+
+  apply "recipes/jquery.rb"
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 191
+191:     def apply(path, config={})
+192:       verbose = config.fetch(:verbose, true)
+193:       is_uri  = path =~ /^https?\:\/\//
+194:       path    = find_in_source_paths(path) unless is_uri
+195: 
+196:       say_status :apply, path, verbose
+197:       shell.padding += 1 if verbose
+198: 
+199:       if is_uri
+200:         contents = open(path, "Accept" => "application/x-thor-template") {|io| io.read }
+201:       else
+202:         contents = open(path) {|io| io.read }
+203:       end
+204: 
+205:       instance_eval(contents, path)
+206:       shell.padding -= 1 if verbose
+207:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + chmod(path, mode, config={}) + click to toggle source + +
+ +
+ +

+Changes the mode of the given file or directory. +

+

Parameters

+ + + + +
mode

+the file mode +

+
path

+the name of the file to change mode +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  chmod "script/*", 0755
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 106
+106:     def chmod(path, mode, config={})
+107:       return unless behavior == :invoke
+108:       path = File.expand_path(path, destination_root)
+109:       say_status :chmod, relative_to_original_destination_root(path), config.fetch(:verbose, true)
+110:       FileUtils.chmod_R(mode, path) unless options[:pretend]
+111:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + copy_file(source, *args, &block) + click to toggle source + +
+ +
+ +

+Copies the file from the relative source to the relative destination. If +the destination is not given it’s assumed to be equal to the source. +

+

Parameters

+ + + + +
source

+the relative path to the source root. +

+
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  copy_file "README", "doc/README"
+
+  copy_file "doc/README"
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 21
+21:     def copy_file(source, *args, &block)
+22:       config = args.last.is_a?(Hash) ? args.pop : {}
+23:       destination = args.first || source
+24:       source = File.expand_path(find_in_source_paths(source.to_s))
+25: 
+26:       create_file destination, nil, config do
+27:         content = File.binread(source)
+28:         content = block.call(content) if block
+29:         content
+30:       end
+31:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + create_file(destination, *args, &block) + click to toggle source + +
+ +
+ +

+Create a new file relative to the destination root with the given data, +which is the return value of a block or a data string. +

+

Parameters

+ + + + +
destination

+the relative path to the destination root. +

+
data

+the data to append to the file. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  create_file "lib/fun_party.rb" do
+    hostname = ask("What is the virtual hostname I should use?")
+    "vhost.name = #{hostname}"
+  end
+
+  create_file "config/apach.conf", "your apache config"
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/create_file.rb, line 23
+23:     def create_file(destination, *args, &block)
+24:       config = args.last.is_a?(Hash) ? args.pop : {}
+25:       data = args.first
+26:       action CreateFile.new(self, destination, block || data.to_s, config)
+27:     end
+
+ +
+ + +
+ Also aliased as: add_file +
+ + + +
+ + +
+ + +
+ + destination_root() + click to toggle source + +
+ +
+ +

+Returns the root for this thor class (also aliased as destination root). +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 99
+ 99:     def destination_root
+100:       @destination_stack.last
+101:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + destination_root=(root) + click to toggle source + +
+ +
+ +

+Sets the root for this thor class. Relatives path are added to the +directory where the script was invoked and expanded. +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 106
+106:     def destination_root=(root)
+107:       @destination_stack ||= []
+108:       @destination_stack[0] = File.expand_path(root || '')
+109:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + directory(source, *args, &block) + click to toggle source + +
+ +
+ +

+Copies recursively the files from source directory to root directory. If +any of the files finishes with .tt, it’s considered to be a template +and is placed in the destination without the extension .tt. If any empty +directory is found, it’s copied and all .empty_directory files are +ignored. Remember that file paths can also be encoded, let’s suppose +a doc directory with the following files: +

+
+  doc/
+    components/.empty_directory
+    README
+    rdoc.rb.tt
+    %app_name%.rb
+
+

+When invoked as: +

+
+  directory "doc"
+
+

+It will create a doc directory in the destination with the following files +(assuming that the app_name is “blog”): +

+
+  doc/
+    components/
+    README
+    rdoc.rb
+    blog.rb
+
+

Parameters

+ + + + +
source

+the relative path to the source root. +

+
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. If :recursive => false, does +not look for paths recursively. +

+
+

Examples

+
+  directory "doc"
+  directory "doc", "docs", :recursive => false
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/directory.rb, line 43
+43:     def directory(source, *args, &block)
+44:       config = args.last.is_a?(Hash) ? args.pop : {}
+45:       destination = args.first || source
+46:       action Directory.new(self, source, destination || source, config, &block)
+47:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + empty_directory(destination, config={}) + click to toggle source + +
+ +
+ +

+Creates an empty directory. +

+

Parameters

+ + + +
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  empty_directory "doc"
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/empty_directory.rb, line 14
+14:     def empty_directory(destination, config={})
+15:       action EmptyDirectory.new(self, destination, config)
+16:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + find_in_source_paths(file) + click to toggle source + +
+ +
+ +

+Receives a file or directory and search for it in the source paths. +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 127
+127:     def find_in_source_paths(file)
+128:       relative_root = relative_to_original_destination_root(destination_root, false)
+129: 
+130:       source_paths.each do |source|
+131:         source_file = File.expand_path(file, File.join(source, relative_root))
+132:         return source_file if File.exists?(source_file)
+133:       end
+134: 
+135:       message = "Could not find #{file.inspect} in any of your source paths. "
+136: 
+137:       unless self.class.source_root
+138:         message << "Please invoke #{self.class.name}.source_root(PATH) with the PATH containing your templates. "
+139:       end
+140: 
+141:       if source_paths.empty?
+142:         message << "Currently you have no source paths."
+143:       else
+144:         message << "Your current source paths are: \n#{source_paths.join("\n")}"
+145:       end
+146: 
+147:       raise Error, message
+148:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + get(source, *args, &block) + click to toggle source + +
+ +
+ +

+Gets the content at the given address and places it at the given relative +destination. If a block is given instead of destination, the content of the +url is yielded and used as location. +

+

Parameters

+ + + + +
source

+the address of the given content. +

+
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  get "http://gist.github.com/103208", "doc/README"
+
+  get "http://gist.github.com/103208" do |content|
+    content.split("\n").first
+  end
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 50
+50:     def get(source, *args, &block)
+51:       config = args.last.is_a?(Hash) ? args.pop : {}
+52:       destination = args.first
+53: 
+54:       source = File.expand_path(find_in_source_paths(source.to_s)) unless source =~ /^http\:\/\//
+55:       render = open(source) {|input| input.binmode.read }
+56: 
+57:       destination ||= if block_given?
+58:         block.arity == 1 ? block.call(render) : block.call
+59:       else
+60:         File.basename(source)
+61:       end
+62: 
+63:       create_file destination, render, config
+64:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + gsub_file(path, flag, *args, &block) + click to toggle source + +
+ +
+ +

+Run a regular expression replacement on a file. +

+

Parameters

+ + + + + +
path

+path of the file to be changed +

+
flag

+the regexp or string to be replaced +

+
replacement

+the replacement, can be also given as a block +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  gsub_file 'app/controllers/application_controller.rb', /#\s*(filter_parameter_logging :password)/, '\1'
+
+  gsub_file 'README', /rake/, :green do |match|
+    match << " no more. Use thor!"
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 194
+194:     def gsub_file(path, flag, *args, &block)
+195:       return unless behavior == :invoke
+196:       config = args.last.is_a?(Hash) ? args.pop : {}
+197: 
+198:       path = File.expand_path(path, destination_root)
+199:       say_status :gsub, relative_to_original_destination_root(path), config.fetch(:verbose, true)
+200: 
+201:       unless options[:pretend]
+202:         content = File.binread(path)
+203:         content.gsub!(flag, *args, &block)
+204:         File.open(path, 'wb') { |file| file.write(content) }
+205:       end
+206:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + in_root() + click to toggle source + +
+ +
+ +

+Goes to the root and execute the given block. +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 175
+175:     def in_root
+176:       inside(@destination_stack.first) { yield }
+177:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + inject_into_class(path, klass, *args, &block) + click to toggle source + +
+ +
+ +

+Injects text right after the class definition. Since it depends on inject_into_file, +it’s reversible. +

+

Parameters

+ + + + + +
path

+path of the file to be changed +

+
klass

+the class to be manipulated +

+
data

+the data to append to the class, can be also given as a block. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  inject_into_class "app/controllers/application_controller.rb", "  filter_parameter :password\n"
+
+  inject_into_class "app/controllers/application_controller.rb", ApplicationController do
+    "  filter_parameter :password\n"
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 172
+172:     def inject_into_class(path, klass, *args, &block)
+173:       config = args.last.is_a?(Hash) ? args.pop : {}
+174:       config.merge!(:after => /class #{klass}\n|class #{klass} .*\n/)
+175:       inject_into_file(path, *(args << config), &block)
+176:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + inject_into_file(destination, *args, &block) + click to toggle source + +
+ +
+ +

+Injects the given content into a file. Different from gsub_file, this method is +reversible. +

+

Parameters

+ + + + +
destination

+Relative path to the destination root +

+
data

+Data to add to the file. Can be given as a block. +

+
config

+give :verbose => false to not log the status and the flag for injection +(:after or :before) or :force => true for insert two or more times the +same content. +

+
+

Examples

+
+  inject_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n"
+
+  inject_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do
+    gems = ask "Which gems would you like to add?"
+    gems.split(" ").map{ |gem| "  config.gem :#{gem}" }.join("\n")
+  end
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/inject_into_file.rb, line 25
+25:     def inject_into_file(destination, *args, &block)
+26:       if block_given?
+27:         data, config = block, args.shift
+28:       else
+29:         data, config = args.shift, args.shift
+30:       end
+31:       action InjectIntoFile.new(self, destination, data, config)
+32:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + inside(dir='', config={}, &block) + click to toggle source + +
+ +
+ +

+Do something in the root or on a provided subfolder. If a relative path is +given it’s referenced from the current root. The full path is yielded +to the block you provide. The path is set back to the previous path when +the method exits. +

+

Parameters

+ + + +
dir

+the directory to move to. +

+
config

+give :verbose => true to log and use padding. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 159
+159:     def inside(dir='', config={}, &block)
+160:       verbose = config.fetch(:verbose, false)
+161: 
+162:       say_status :inside, dir, verbose
+163:       shell.padding += 1 if verbose
+164:       @destination_stack.push File.expand_path(dir, destination_root)
+165: 
+166:       FileUtils.mkdir_p(destination_root) unless File.exist?(destination_root)
+167:       FileUtils.cd(destination_root) { block.arity == 1 ? yield(destination_root) : yield }
+168: 
+169:       @destination_stack.pop
+170:       shell.padding -= 1 if verbose
+171:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + prepend_file(path, *args, &block) + click to toggle source + +
+ +
+ +

+Prepend text to a file. Since it depends on inject_into_file, +it’s reversible. +

+

Parameters

+ + + + +
path

+path of the file to be changed +

+
data

+the data to prepend to the file, can be also given as a block. +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  prepend_file 'config/environments/test.rb', 'config.gem "rspec"'
+
+  prepend_file 'config/environments/test.rb' do
+    'config.gem "rspec"'
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 128
+128:     def prepend_file(path, *args, &block)
+129:       config = args.last.is_a?(Hash) ? args.pop : {}
+130:       config.merge!(:after => /\A/)
+131:       inject_into_file(path, *(args << config), &block)
+132:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + relative_to_original_destination_root(path, remove_dot=true) + click to toggle source + +
+ +
+ +

+Returns the given path relative to the absolute root (ie, root where the +script started). +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 114
+114:     def relative_to_original_destination_root(path, remove_dot=true)
+115:       path = path.gsub(@destination_stack[0], '.')
+116:       remove_dot ? (path[2..1] || '') : path
+117:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_dir(path, config={}) + click to toggle source + +
+ +
+ + + + + +
+ + + + +
+ Alias for: remove_file +
+ +
+ + +
+ + +
+ + remove_file(path, config={}) + click to toggle source + +
+ +
+ +

+Removes a file at the given location. +

+

Parameters

+ + + +
path

+path of the file to be changed +

+
config

+give :verbose => false to not log the status. +

+
+

Example

+
+  remove_file 'README'
+  remove_file 'app/controllers/application_controller.rb'
+ + + +
+
+     # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 219
+219:     def remove_file(path, config={})
+220:       return unless behavior == :invoke
+221:       path  = File.expand_path(path, destination_root)
+222: 
+223:       say_status :remove, relative_to_original_destination_root(path), config.fetch(:verbose, true)
+224:       ::FileUtils.rm_rf(path) if !options[:pretend] && File.exists?(path)
+225:     end
+
+ +
+ + +
+ Also aliased as: remove_dir +
+ + + +
+ + +
+ + +
+ + run(command, config={}) + click to toggle source + +
+ +
+ +

+Executes a command returning the contents of the command. +

+

Parameters

+ + + +
command

+the command to be executed. +

+
config

+give :verbose => false to not log the status. Specify :with to append an +executable to command executation. +

+
+

Example

+
+  inside('vendor') do
+    run('ln -s ~/edge rails')
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 222
+222:     def run(command, config={})
+223:       return unless behavior == :invoke
+224: 
+225:       destination = relative_to_original_destination_root(destination_root, false)
+226:       desc = "#{command} from #{destination.inspect}"
+227: 
+228:       if config[:with]
+229:         desc = "#{File.basename(config[:with].to_s)} #{desc}"
+230:         command = "#{config[:with]} #{command}"
+231:       end
+232: 
+233:       say_status :run, desc, config.fetch(:verbose, true)
+234:       `#{command}` unless options[:pretend]
+235:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + run_ruby_script(command, config={}) + click to toggle source + +
+ +
+ +

+Executes a ruby script (taking into account WIN32 platform quirks). +

+

Parameters

+ + + +
command

+the command to be executed. +

+
config

+give :verbose => false to not log the status. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 243
+243:     def run_ruby_script(command, config={})
+244:       return unless behavior == :invoke
+245:       run command, config.merge(:with => Thor::Util.ruby_command)
+246:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_paths() + click to toggle source + +
+ +
+ +

+Holds source paths in instance so they can be manipulated. +

+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 121
+121:     def source_paths
+122:       @source_paths ||= self.class.source_paths_for_search
+123:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + template(source, *args, &block) + click to toggle source + +
+ +
+ +

+Gets an ERB template at the relative source, executes it and makes a copy +at the relative destination. If the destination is not given it’s +assumed to be equal to the source removing .tt from the filename. +

+

Parameters

+ + + + +
source

+the relative path to the source root. +

+
destination

+the relative path to the destination root. +

+
config

+give :verbose => false to not log the status. +

+
+

Examples

+
+  template "README", "doc/README"
+
+  template "doc/README"
+ + + +
+
+    # File lib/bundler/vendor/thor/actions/file_manipulation.rb, line 81
+81:     def template(source, *args, &block)
+82:       config = args.last.is_a?(Hash) ? args.pop : {}
+83:       destination = args.first || source
+84: 
+85:       source  = File.expand_path(find_in_source_paths(source.to_s))
+86:       context = instance_eval('binding')
+87: 
+88:       create_file destination, nil, config do
+89:         content = ERB.new(::File.binread(source), nil, '-').result(context)
+90:         content = block.call(content) if block
+91:         content
+92:       end
+93:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + thor(task, *args) + click to toggle source + +
+ +
+ +

+Run a thor command. A hash of options can be given and it’s converted +to switches. +

+

Parameters

+ + + + +
task

+the task to be invoked +

+
args

+arguments to the task +

+
config

+give :verbose => false to not log the status. Other options are given as +parameter to Thor. +

+
+

Examples

+
+  thor :install, "http://gist.github.com/103208"
+  #=> thor install http://gist.github.com/103208
+
+  thor :list, :all => true, :substring => 'rails'
+  #=> thor list --all --substring=rails
+ + + +
+
+     # File lib/bundler/vendor/thor/actions.rb, line 265
+265:     def thor(task, *args)
+266:       config  = args.last.is_a?(Hash) ? args.pop : {}
+267:       verbose = config.key?(:verbose) ? config.delete(:verbose) : true
+268:       pretend = config.key?(:pretend) ? config.delete(:pretend) : false
+269: 
+270:       args.unshift task
+271:       args.push Thor::Options.to_switches(config)
+272:       command = args.join(' ').strip
+273: 
+274:       run command, :with => :thor, :verbose => verbose, :pretend => pretend
+275:     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.0/rdoc/Thor/Actions/ClassMethods.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/ClassMethods.html new file mode 100644 index 00000000..c0ec28b3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/ClassMethods.html @@ -0,0 +1,491 @@ + + + + + + + Module: Thor::Actions::ClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Class Index + [+]

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

Thor::Actions::ClassMethods

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

Public Instance Methods

+ + +
+ + +
+ + add_runtime_options!() + click to toggle source + +
+ +
+ +

+Add runtime options that help actions execution. +

+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 48
+48:       def add_runtime_options!
+49:         class_option :force, :type => :boolean, :aliases => "-f", :group => :runtime,
+50:                              :desc => "Overwrite files that already exist"
+51: 
+52:         class_option :pretend, :type => :boolean, :aliases => "-p", :group => :runtime,
+53:                                :desc => "Run but do not make any changes"
+54: 
+55:         class_option :quiet, :type => :boolean, :aliases => "-q", :group => :runtime,
+56:                              :desc => "Supress status output"
+57: 
+58:         class_option :skip, :type => :boolean, :aliases => "-s", :group => :runtime,
+59:                             :desc => "Skip files that already exist"
+60:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_paths() + click to toggle source + +
+ +
+ +

+Hold source paths for one Thor instance. source_paths_for_search +is the method responsible to gather source_paths from this +current class, inherited paths and the source root. +

+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 22
+22:       def source_paths
+23:         @_source_paths ||= []
+24:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_paths_for_search() + click to toggle source + +
+ +
+ +

+Returns the source paths in the following order: +

+
+  1) This class source paths
+  2) Source root
+  3) Parents source paths
+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 38
+38:       def source_paths_for_search
+39:         paths = []
+40:         paths += self.source_paths
+41:         paths << self.source_root if self.source_root
+42:         paths += from_superclass(:source_paths, [])
+43:         paths
+44:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + source_root(path=nil) + click to toggle source + +
+ +
+ +

+Stores and return the source root for this class +

+ + + +
+
+    # File lib/bundler/vendor/thor/actions.rb, line 27
+27:       def source_root(path=nil)
+28:         @_source_root = path if path
+29:         @_source_root
+30:       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.0/rdoc/Thor/Actions/CreateFile.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/CreateFile.html new file mode 100644 index 00000000..73582554 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/CreateFile.html @@ -0,0 +1,314 @@ + + + + + + + Class: Thor::Actions::CreateFile + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Class Index + [+]

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

Thor::Actions::CreateFile

+ +
+

+AddFile is a subset of Template, which instead of rendering a file with +ERB, it gets the content from the user. +

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

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.0/rdoc/Thor/Actions/Directory.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/Directory.html new file mode 100644 index 00000000..9da2f484 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/Directory.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Actions::Directory + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Class Index + [+]

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

Thor::Actions::Directory

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

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.0/rdoc/Thor/Actions/EmptyDirectory.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/EmptyDirectory.html new file mode 100644 index 00000000..18b047b2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/EmptyDirectory.html @@ -0,0 +1,318 @@ + + + + + + + Class: Thor::Actions::EmptyDirectory + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Parent

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

Class Index + [+]

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

Thor::Actions::EmptyDirectory

+ +
+

+Class which holds create directory logic. This is the base class for other +actions like create_file and directory. +

+

+This implementation is based in Templater actions, created by Jonas Nicklas +and Michael S. Klishin under MIT LICENSE. +

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

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.0/rdoc/Thor/Actions/InjectIntoFile.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/InjectIntoFile.html new file mode 100644 index 00000000..d3e5edc3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Actions/InjectIntoFile.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Actions::InjectIntoFile + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Class Index + [+]

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

Thor::Actions::InjectIntoFile

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

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.0/rdoc/Thor/Argument.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Argument.html new file mode 100644 index 00000000..2c2b6a73 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Argument.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Argument + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::Argument

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

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.0/rdoc/Thor/Arguments.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Arguments.html new file mode 100644 index 00000000..7ae46346 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Arguments.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Arguments + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::Arguments

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

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.0/rdoc/Thor/Base.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base.html new file mode 100644 index 00000000..7a8834e2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base.html @@ -0,0 +1,596 @@ + + + + + + + Module: Thor::Base + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Namespace

+ +
+ + + + +
+

Methods

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

Class Index + [+]

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

Thor::Base

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

Attributes

+ + +
+ + + + +
+ options[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(args=[], options={}, config={}) + click to toggle source + +
+ +
+ +

+It receives arguments in an Array and two hashes, one for options and other +for configuration. +

+

+Notice that it does not check if all required arguments were supplied. It +should be done by the parser. +

+

Parameters

+ + + + +
args

+An array of objects. The objects are applied to their respective accessors +declared with argument. +

+
options

+An options hash that will be available as self.options. The hash given is +converted to a hash with indifferent access, magic predicates +(options.skip?) and then frozen. +

+
config

+Configuration for this Thor class. +

+
+ + + +
+
+    # File lib/bundler/vendor/thor/base.rb, line 40
+40:     def initialize(args=[], options={}, config={})
+41:       args = Thor::Arguments.parse(self.class.arguments, args)
+42:       args.each { |key, value| send("#{key}=", value) }
+43: 
+44:       parse_options = self.class.class_options
+45: 
+46:       if options.is_a?(Array)
+47:         task_options  = config.delete(:task_options) # hook for start
+48:         parse_options = parse_options.merge(task_options) if task_options
+49:         array_options, hash_options = options, {}
+50:       else
+51:         array_options, hash_options = [], options
+52:       end
+53: 
+54:       opts = Thor::Options.new(parse_options, hash_options)
+55:       self.options = opts.parse(array_options)
+56:       opts.check_unknown! if self.class.check_unknown_options?(config)
+57:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + shell() + click to toggle source + +
+ +
+ +

+Returns the shell used in all Thor classes. If +you are in a Unix platform it will use a colored log, otherwise it will use +a basic one without color. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 8
+ 8:     def self.shell
+ 9:       @shell ||= if ENV['THOR_SHELL'] && ENV['THOR_SHELL'].size > 0
+10:         Thor::Shell.const_get(ENV['THOR_SHELL'])
+11:       elsif RbConfig::CONFIG['host_os'] =~ /mswin|mingw/
+12:         Thor::Shell::Basic
+13:       else
+14:         Thor::Shell::Color
+15:       end
+16:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + shell=(klass) + click to toggle source + +
+ +
+ +

+Sets the shell used in all Thor classes. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 20
+20:     def self.shell=(klass)
+21:       @shell = klass
+22:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + subclass_files() + click to toggle source + +
+ +
+ +

+Returns the files where the subclasses are kept. +

+

Returns

+

+Hash[path => Class] +

+ + + +
+
+    # File lib/bundler/vendor/thor/base.rb, line 80
+80:       def subclass_files
+81:         @subclass_files ||= Hash.new{ |h,k| h[k] = [] }
+82:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + subclasses() + click to toggle source + +
+ +
+ +

+Returns the classes that inherits from Thor or +Thor::Group. +

+

Returns

+

+Array[Class] +

+ + + +
+
+    # File lib/bundler/vendor/thor/base.rb, line 71
+71:       def subclasses
+72:         @subclasses ||= []
+73:       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.0/rdoc/Thor/Base/ClassMethods.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base/ClassMethods.html new file mode 100644 index 00000000..27240063 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Base/ClassMethods.html @@ -0,0 +1,1363 @@ + + + + + + + Module: Thor::Base::ClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Class Index + [+]

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

Thor::Base::ClassMethods

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

Attributes

+ + +
+ + + + +
+ debugging[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + +
+ + all_tasks() + click to toggle source + +
+ +
+ +

+Returns the tasks for this Thor class and all +subclasses. +

+

Returns

+ + +
OrderedHash

+An ordered hash with tasks names as keys and Thor::Task objects as values. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 294
+294:       def all_tasks
+295:         @all_tasks ||= from_superclass(:all_tasks, Thor::CoreExt::OrderedHash.new)
+296:         @all_tasks.merge(tasks)
+297:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + argument(name, options={}) + click to toggle source + +
+ +
+ +

+Adds an argument to the class and creates an attr_accessor for it. +

+

+Arguments are different from options in several aspects. The first one is +how they are parsed from the command line, arguments are retrieved from +position: +

+
+  thor task NAME
+
+

+Instead of: +

+
+  thor task --name=NAME
+
+

+Besides, arguments are used inside your code as an accessor +(self.argument), while options are all kept in a hash (self.options). +

+

+Finally, arguments cannot have type :default or :boolean but can be +optional (supplying :optional => :true or :required => false), although you +cannot have a required argument after a non-required argument. If you try +it, an error is raised. +

+

Parameters

+ + + +
name

+The name of the argument. +

+
options

+Described below. +

+
+

Options

+

+:desc - Description for the argument. :required - If the argument is +required or not. :optional - If the argument is optional or not. :type +- The type of the argument, can be :string, :hash, :array, :numeric. +:default - Default value for this argument. It cannot be required and have +default values. :banner - String to show on usage notes. +

+

Errors

+ + +
ArgumentError

+Raised if you supply a required argument after a non required one. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 160
+160:       def argument(name, options={})
+161:         is_thor_reserved_word?(name, :argument)
+162:         no_tasks { attr_accessor name }
+163: 
+164:         required = if options.key?(:optional)
+165:           !options[:optional]
+166:         elsif options.key?(:required)
+167:           options[:required]
+168:         else
+169:           options[:default].nil?
+170:         end
+171: 
+172:         remove_argument name
+173: 
+174:         arguments.each do |argument|
+175:           next if argument.required?
+176:           raise ArgumentError, "You cannot have #{name.to_s.inspect} as required argument after " <<
+177:                                "the non-required argument #{argument.human_name.inspect}."
+178:         end if required
+179: 
+180:         arguments << Thor::Argument.new(name, options[:desc], required, options[:type],
+181:                                               options[:default], options[:banner])
+182:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + arguments() + click to toggle source + +
+ +
+ +

+Returns this class arguments, looking up in the ancestors chain. +

+

Returns

+

+Array[Thor::Argument] +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 189
+189:       def arguments
+190:         @arguments ||= from_superclass(:arguments, [])
+191:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + check_unknown_options!() + click to toggle source + +
+ +
+ +

+If you want to raise an error for unknown options, call +check_unknown_options! This is disabled by default to allow dynamic +invocations. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 113
+113:       def check_unknown_options!
+114:         @check_unknown_options = true
+115:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + class_option(name, options={}) + click to toggle source + +
+ +
+ +

+Adds an option to the set of class options +

+

Parameters

+ + + +
name

+The name of the argument. +

+
options

+Described below. +

+
+

Options

+

+:desc - Description for the argument. :required - If the argument is +required or not. :default - Default value for this argument. :group - +The group for this options. Use by class options to output options in +different levels. :aliases - Aliases for this option. :type - The type +of the argument, can be :string, :hash, :array, :numeric or :boolean. +:banner - String to show on usage notes. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 223
+223:       def class_option(name, options={})
+224:         build_option(name, options, class_options)
+225:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + class_options(options=nil) + click to toggle source + +
+ +
+ +

+Adds a bunch of options to the set of class options. +

+
+  class_options :foo => false, :bar => :required, :baz => :string
+
+

+If you prefer more detailed declaration, check class_option. +

+

Parameters

+

+Hash[Symbol => Object] +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 202
+202:       def class_options(options=nil)
+203:         @class_options ||= from_superclass(:class_options, {})
+204:         build_options(options, @class_options) if options
+205:         @class_options
+206:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + group(name=nil) + click to toggle source + +
+ +
+ +

+Defines the group. This is used when thor list is invoked so you can +specify that only tasks from a pre-defined group will be shown. Defaults to +standard. +

+

Parameters

+

+name +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 269
+269:       def group(name=nil)
+270:         case name
+271:           when nil
+272:             @group ||= from_superclass(:group, 'standard')
+273:           else
+274:             @group = name.to_s
+275:         end
+276:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + namespace(name=nil) + click to toggle source + +
+ +
+ +

+Sets the namespace for the Thor or +Thor::Group class. By default the namespace is retrieved from the class +name. If your Thor class is named +Scripts::MyScript, the help method, for example, will be called as: +

+
+  thor scripts:my_script -h
+
+

+If you change the namespace: +

+
+  namespace :my_scripts
+
+

+You change how your tasks are invoked: +

+
+  thor my_scripts -h
+
+

+Finally, if you change your namespace to default: +

+
+  namespace :default
+
+

+Your tasks can be invoked with a shortcut. Instead of: +

+
+  thor :my_task
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 369
+369:       def namespace(name=nil)
+370:         case name
+371:         when nil
+372:           @namespace ||= Thor::Util.namespace_from_thor_class(self)
+373:         else
+374:           @namespace = name.to_s
+375:         end
+376:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + no_tasks() + click to toggle source + +
+ +
+ +

+All methods defined inside the given block are not added as tasks. +

+

+So you can do: +

+
+  class MyScript < Thor
+    no_tasks do
+      def this_is_not_a_task
+      end
+    end
+  end
+
+

+You can also add the method and remove it from the task list: +

+
+  class MyScript < Thor
+    def this_is_not_a_task
+    end
+    remove_task :this_is_not_a_task
+  end
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 340
+340:       def no_tasks
+341:         @no_tasks = true
+342:         yield
+343:       ensure
+344:         @no_tasks = false
+345:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_argument(*names) + click to toggle source + +
+ +
+ +

+Removes a previous defined argument. If :undefine is given, undefine +accessors as well. +

+

Paremeters

+ + +
names

+Arguments to be removed +

+
+

Examples

+
+  remove_argument :foo
+  remove_argument :foo, :bar, :baz, :undefine => true
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 238
+238:       def remove_argument(*names)
+239:         options = names.last.is_a?(Hash) ? names.pop : {}
+240: 
+241:         names.each do |name|
+242:           arguments.delete_if { |a| a.name == name.to_s }
+243:           undef_method name, "#{name}=" if options[:undefine]
+244:         end
+245:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_class_option(*names) + click to toggle source + +
+ +
+ +

+Removes a previous defined class option. +

+

Paremeters

+ + +
names

+Class options to be removed +

+
+

Examples

+
+  remove_class_option :foo
+  remove_class_option :foo, :bar, :baz
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 257
+257:       def remove_class_option(*names)
+258:         names.each do |name|
+259:           class_options.delete(name)
+260:         end
+261:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + remove_task(*names) + click to toggle source + +
+ +
+ +

+Removes a given task from this Thor class. +This is usually done if you are inheriting from another class and +don’t want it to be available anymore. +

+

+By default it only remove the mapping to the task. But you can supply +:undefine => true to undefine the method from the class as well. +

+

Parameters

+ + + +
name

+The name of the task to be removed +

+
options

+You can give :undefine => true if you want tasks the method to be undefined +from the class as well. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 311
+311:       def remove_task(*names)
+312:         options = names.last.is_a?(Hash) ? names.pop : {}
+313: 
+314:         names.each do |name|
+315:           tasks.delete(name.to_s)
+316:           all_tasks.delete(name.to_s)
+317:           undef_method name if options[:undefine]
+318:         end
+319:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + start(given_args=ARGV, config={}) + click to toggle source + +
+ +
+ +

+Parses the task and options from the given args, instantiate the class and +invoke the task. This method is used when the arguments must be parsed from +an array. If you are inside Ruby and want to use a Thor class, you can simply initialize it: +

+
+  script = MyScript.new(args, options, config)
+  script.invoke(:task, first_arg, second_arg, third_arg)
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 386
+386:       def start(given_args=ARGV, config={})
+387:         self.debugging = given_args.delete("--debug")
+388:         config[:shell] ||= Thor::Base.shell.new
+389:         dispatch(nil, given_args.dup, nil, config)
+390:       rescue Thor::Error => e
+391:         debugging ? (raise e) : config[:shell].error(e.message)
+392:         exit(1) if exit_on_failure?
+393:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + tasks() + click to toggle source + +
+ +
+ +

+Returns the tasks for this Thor class. +

+

Returns

+ + +
OrderedHash

+An ordered hash with tasks names as keys and Thor::Task objects as values. +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 284
+284:       def tasks
+285:         @tasks ||= Thor::CoreExt::OrderedHash.new
+286:       end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + +
+ + exit_on_failure?() + click to toggle source + +
+ +
+ +

+A flag that makes the process exit with status 1 if any error happens. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 530
+530:         def exit_on_failure?
+531:           false
+532:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + from_superclass(method, default=nil) + click to toggle source + +
+ +
+ +

+Retrieves a value from superclass. If it reaches the baseclass, returns +default. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 520
+520:         def from_superclass(method, default=nil)
+521:           if self == baseclass || !superclass.respond_to?(method, true)
+522:             default
+523:           else
+524:             value = superclass.send(method)
+525:             value.dup if value
+526:           end
+527:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + inherited(klass) + click to toggle source + +
+ +
+ +

+Everytime someone inherits from a Thor class, +register the klass and file into baseclass. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 494
+494:         def inherited(klass)
+495:           Thor::Base.register_klass_file(klass)
+496:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + method_added(meth) + click to toggle source + +
+ +
+ +

+Fire this callback whenever a method is added. Added methods are tracked as +tasks by invoking the create_task method. +

+ + + +
+
+     # File lib/bundler/vendor/thor/base.rb, line 500
+500:         def method_added(meth)
+501:           meth = meth.to_s
+502: 
+503:           if meth == "initialize"
+504:             initialize_added
+505:             return
+506:           end
+507: 
+508:           # Return if it's not a public instance method
+509:           return unless public_instance_methods.include?(meth) ||
+510:                         public_instance_methods.include?(meth.to_sym)
+511: 
+512:           return if @no_tasks || !create_task(meth)
+513: 
+514:           is_thor_reserved_word?(meth, :task)
+515:           Thor::Base.register_klass_file(self)
+516:         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.0/rdoc/Thor/CoreExt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt.html new file mode 100644 index 00000000..18c00c9a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt.html @@ -0,0 +1,317 @@ + + + + + + + Module: Thor::CoreExt + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Class Index + [+]

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

Thor::CoreExt

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

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.0/rdoc/Thor/CoreExt/HashWithIndifferentAccess.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/HashWithIndifferentAccess.html new file mode 100644 index 00000000..219da555 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/HashWithIndifferentAccess.html @@ -0,0 +1,319 @@ + + + + + + + Class: Thor::CoreExt::HashWithIndifferentAccess + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ + + +
+ + + +
+

Parent

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

Class Index + [+]

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

Thor::CoreExt::HashWithIndifferentAccess

+ +
+

+A hash with indifferent access and magic predicates. +

+
+  hash = Thor::CoreExt::HashWithIndifferentAccess.new 'foo' => 'bar', 'baz' => 'bee', 'force' => true
+
+  hash[:foo]  #=> 'bar'
+  hash['foo'] #=> 'bar'
+  hash.foo?   #=> true
+ +
+ + + + + + + + + + +
+ + +
+ +

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.0/rdoc/Thor/CoreExt/OrderedHash.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/OrderedHash.html new file mode 100644 index 00000000..53bc28f2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/CoreExt/OrderedHash.html @@ -0,0 +1,317 @@ + + + + + + + Class: Thor::CoreExt::OrderedHash + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Parent

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

Class Index + [+]

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

Thor::CoreExt::OrderedHash

+ +
+

+This class is based on the Ruby 1.9 ordered hashes. +

+

+It keeps the semantics and most of the efficiency of normal hashes while +also keeping track of the order in which elements were set. +

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

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.0/rdoc/Thor/DynamicTask.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/DynamicTask.html new file mode 100644 index 00000000..19ec80b3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/DynamicTask.html @@ -0,0 +1,408 @@ + + + + + + + Class: Thor::DynamicTask + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Thor::DynamicTask

+ +
+

+A dynamic task that handles method missing scenarios. +

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

Public Class Methods

+ + +
+ + +
+ + new(name, options=nil) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/task.rb, line 102
+102:     def initialize(name, options=nil)
+103:       super(name.to_s, "A dynamically-generated task", name.to_s, name.to_s, options)
+104:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + run(instance, args=[]) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/task.rb, line 106
+106:     def run(instance, args=[])
+107:       if (instance.methods & [name.to_s, name.to_sym]).empty?
+108:         super
+109:       else
+110:         instance.class.handle_no_task_error(name)
+111:       end
+112:     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.0/rdoc/Thor/Error.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Error.html new file mode 100644 index 00000000..1c4b5b30 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Error.html @@ -0,0 +1,321 @@ + + + + + + + Class: Thor::Error + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::Error

+ +
+

+Thor::Error is raised when it’s caused by +wrong usage of thor classes. Those errors have their backtrace supressed +and are nicely shown to the user. +

+

+Errors that are caused by the developer, like declaring a method which +overwrites a thor keyword, it SHOULD NOT raise a Thor::Error. This way, we ensure that developer +errors are shown with full backtrace. +

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

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.0/rdoc/Thor/HiddenTask.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/HiddenTask.html new file mode 100644 index 00000000..f4a06164 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/HiddenTask.html @@ -0,0 +1,362 @@ + + + + + + + Class: Thor::HiddenTask + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Thor::HiddenTask

+ +
+

+A task that is hidden in help messages but still invocable. +

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

Public Instance Methods

+ + +
+ + +
+ + hidden?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 95
+95:     def hidden?
+96:       true
+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.0/rdoc/Thor/Invocation.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation.html new file mode 100644 index 00000000..3722dba8 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation.html @@ -0,0 +1,496 @@ + + + + + + + Module: Thor::Invocation + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Namespace

+ +
+ + + + +
+

Methods

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

Class Index + [+]

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

Thor::Invocation

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

Public Instance Methods

+ + +
+ + +
+ + invoke(name=nil, *args) + click to toggle source + +
+ +
+ +

+Receives a name and invokes it. The name can be a string (either +“task” or “namespace:task”), a Thor::Task, a Class or a Thor instance. If the task cannot be guessed by +name, it can also be supplied as second argument. +

+

+You can also supply the arguments, options and configuration values for the +task to be invoked, if none is given, the same values used to initialize +the invoker are used to initialize the invoked. +

+

+When no name is given, it will invoke the default task of the current +class. +

+

Examples

+
+  class A < Thor
+    def foo
+      invoke :bar
+      invoke "b:hello", ["José"]
+    end
+
+    def bar
+      invoke "b:hello", ["José"]
+    end
+  end
+
+  class B < Thor
+    def hello(name)
+      puts "hello #{name}"
+    end
+  end
+
+

+You can notice that the method “foo” above invokes two tasks: +“bar”, which belongs to the same class and “hello” +which belongs to the class B. +

+

+By using an invocation system you ensure that a task is invoked only once. +In the example above, invoking “foo” will invoke +“b:hello” just once, even if it’s invoked later by +“bar” method. +

+

+When class A invokes class B, all arguments used on A initialization are +supplied to B. This allows lazy parse of options. Let’s suppose you +have some rspec tasks: +

+
+  class Rspec < Thor::Group
+    class_option :mock_framework, :type => :string, :default => :rr
+
+    def invoke_mock_framework
+      invoke "rspec:#{options[:mock_framework]}"
+    end
+  end
+
+

+As you noticed, it invokes the given mock framework, which might have its +own options: +

+
+  class Rspec::RR < Thor::Group
+    class_option :style, :type => :string, :default => :mock
+  end
+
+

+Since it’s not rspec concern to parse mock framework options, when RR +is invoked all options are parsed again, so RR can extract only the options +that it’s going to use. +

+

+If you want Rspec::RR to be initialized with its own set of options, you +have to do that explicitely: +

+
+  invoke "rspec:rr", [], :style => :foo
+
+

+Besides giving an instance, you can also give a class to invoke: +

+
+  invoke Rspec::RR, [], :style => :foo
+ + + +
+
+     # File lib/bundler/vendor/thor/invocation.rb, line 96
+ 96:     def invoke(name=nil, *args)
+ 97:       if name.nil?
+ 98:         warn "[Thor] Calling invoke() without argument is deprecated. Please use invoke_all instead.\n#{caller.join("\n")}"
+ 99:         return invoke_all
+100:       end
+101: 
+102:       args.unshift(nil) if Array === args.first || NilClass === args.first
+103:       task, args, opts, config = args
+104: 
+105:       klass, task = _retrieve_class_and_task(name, task)
+106:       raise "Expected Thor class, got #{klass}" unless klass <= Thor::Base
+107: 
+108:       args, opts, config = _parse_initialization_options(args, opts, config)
+109:       klass.send(:dispatch, task, args, opts, config)
+110:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + invoke_with_padding(*args) + click to toggle source + +
+ +
+ +

+Invokes using shell padding. +

+ + + +
+
+     # File lib/bundler/vendor/thor/invocation.rb, line 128
+128:     def invoke_with_padding(*args)
+129:       with_padding { invoke(*args) }
+130:     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.0/rdoc/Thor/Invocation/ClassMethods.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation/ClassMethods.html new file mode 100644 index 00000000..accdfcb0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Invocation/ClassMethods.html @@ -0,0 +1,303 @@ + + + + + + + Module: Thor::Invocation::ClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Class Index + [+]

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

Thor::Invocation::ClassMethods

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

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.0/rdoc/Thor/InvocationError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/InvocationError.html new file mode 100644 index 00000000..6ce0efa0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/InvocationError.html @@ -0,0 +1,313 @@ + + + + + + + Class: Thor::InvocationError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::InvocationError

+ +
+

+Raised when a task was found, but not invoked properly. +

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

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.0/rdoc/Thor/MalformattedArgumentError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/MalformattedArgumentError.html new file mode 100644 index 00000000..881e0183 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/MalformattedArgumentError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::MalformattedArgumentError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::MalformattedArgumentError

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

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.0/rdoc/Thor/Option.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Option.html new file mode 100644 index 00000000..6ef2e454 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Option.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::Option + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::Option

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

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.0/rdoc/Thor/Options.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Options.html new file mode 100644 index 00000000..34332ab4 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Options.html @@ -0,0 +1,314 @@ + + + + + + + Class: Thor::Options + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::Options

+ +
+

+This is a modified version of Daniel Berger’s Getopt::Long class, +licensed under Ruby’s license. +

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

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.0/rdoc/Thor/RequiredArgumentMissingError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/RequiredArgumentMissingError.html new file mode 100644 index 00000000..837d6d7e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/RequiredArgumentMissingError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::RequiredArgumentMissingError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::RequiredArgumentMissingError

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

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.0/rdoc/Thor/Sandbox.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Sandbox.html new file mode 100644 index 00000000..0d500a8a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Sandbox.html @@ -0,0 +1,303 @@ + + + + + + + Module: Thor::Sandbox + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Class Index + [+]

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

Thor::Sandbox

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

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.0/rdoc/Thor/Shell.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell.html new file mode 100644 index 00000000..2379847b --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell.html @@ -0,0 +1,528 @@ + + + + + + + Module: Thor::Shell + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

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

Namespace

+ +
+ + + + +
+

Methods

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

Class Index + [+]

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

Thor::Shell

+ +
+ +
+ + + +
+

Constants

+
+ +
SHELL_DELEGATED_METHODS
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(args=[], options={}, config={}) + click to toggle source + +
+ +
+ +

+Add shell to initialize config values. +

+

Configuration

+ + +
shell

+An instance of the shell to be used. +

+
+

Examples

+
+  class MyScript < Thor
+    argument :first, :type => :numeric
+  end
+
+  MyScript.new [1.0], { :foo => :bar }, :shell => Thor::Shell::Basic.new
+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 45
+45:     def initialize(args=[], options={}, config={})
+46:       super
+47:       self.shell = config[:shell]
+48:       self.shell.base ||= self if self.shell.respond_to?(:base)
+49:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + shell() + click to toggle source + +
+ +
+ +

+Holds the shell for the given Thor instance. If +no shell is given, it gets a default shell from Thor::Base.shell. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 53
+53:     def shell
+54:       @shell ||= Thor::Base.shell.new
+55:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + shell=(shell) + click to toggle source + +
+ +
+ +

+Sets the shell for this thor class. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 58
+58:     def shell=(shell)
+59:       @shell = shell
+60:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + with_padding() + click to toggle source + +
+ +
+ +

+Yields the given block with padding. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell.rb, line 72
+72:     def with_padding
+73:       shell.padding += 1
+74:       yield
+75:     ensure
+76:       shell.padding -= 1
+77:     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.0/rdoc/Thor/Shell/Basic.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Basic.html new file mode 100644 index 00000000..335dfb32 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Basic.html @@ -0,0 +1,1121 @@ + + + + + + + Class: Thor::Shell::Basic + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::Shell::Basic

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

Attributes

+ + +
+ + + + +
+ base[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ padding[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + +
+ + ask(statement, color=nil) + click to toggle source + +
+ +
+ +

+Ask something to the user and receives a response. +

+

Example

+

+ask(“What is your name?”) +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 25
+25:       def ask(statement, color=nil)
+26:         say("#{statement} ", color)
+27:         $stdin.gets.strip
+28:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + error(statement) + click to toggle source + +
+ +
+ +

+Called if something goes wrong during the execution. This is used by Thor internally and should not be used inside +your scripts. If someone went wrong, you can always raise an exception. If +you raise a Thor::Error, it will be rescued and +wrapped in the method below. +

+ + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 187
+187:       def error(statement)
+188:         $stderr.puts statement
+189:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + file_collision(destination) + click to toggle source + +
+ +
+ +

+Deals with file collision and returns true if the file should be overwriten +and false otherwise. If a block is given, it uses the block response as the +content for the diff. +

+

Parameters

+ + + +
destination

+the destination file to solve conflicts +

+
block

+an optional block that returns the value to be used in diff +

+
+ + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 156
+156:       def file_collision(destination)
+157:         return true if @always_force
+158:         options = block_given? ? "[Ynaqdh]" : "[Ynaqh]"
+159: 
+160:         while true
+161:           answer = ask %[Overwrite #{destination}? (enter "h" for help) #{options}]
+162: 
+163:           case answer
+164:             when is?(:yes), is?(:force), ""
+165:               return true
+166:             when is?(:no), is?(:skip)
+167:               return false
+168:             when is?(:always)
+169:               return @always_force = true
+170:             when is?(:quit)
+171:               say 'Aborting...'
+172:               raise SystemExit
+173:             when is?(:diff)
+174:               show_diff(destination, yield) if block_given?
+175:               say 'Retrying...'
+176:             else
+177:               say file_collision_help
+178:           end
+179:         end
+180:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + no?(statement, color=nil) + click to toggle source + +
+ +
+ +

+Make a question the to user and returns true if the user replies +“n” or “no”. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 78
+78:       def no?(statement, color=nil)
+79:         !yes?(statement, color)
+80:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + padding=(value) + click to toggle source + +
+ +
+ +

+Sets the output padding, not allowing less than zero values. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 16
+16:       def padding=(value)
+17:         @padding = [0, value].max
+18:       end
+
+ +
+ + + + +
+ + + + + + + + +
+ + +
+ + say(message="", color=nil, force_new_line=(message.to_s !~ /( |\t)$/)) + click to toggle source + +
+ +
+ +

+Say (print) something to the user. If the sentence ends with a whitespace +or tab character, a new line is not appended (print + flush). Otherwise are +passed straight to puts (behavior got from Highline). +

+

Example

+

+say(“I know you knew that.”) +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 37
+37:       def say(message="", color=nil, force_new_line=(message.to_s !~ /( |\t)$/))
+38:         message = message.to_s
+39:         message = set_color(message, color) if color
+40: 
+41:         spaces = "  " * padding
+42: 
+43:         if force_new_line
+44:           $stdout.puts(spaces + message)
+45:         else
+46:       $stdout.print(spaces + message)
+47:         end
+48:         $stdout.flush
+49:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + say_status(status, message, log_status=true) + click to toggle source + +
+ +
+ +

+Say a status with the given color and appends the message. Since this +method is used frequently by actions, it allows nil or false to be given in +log_status, avoiding the message from being shown. If a Symbol is given in +log_status, it’s used as the color. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 56
+56:       def say_status(status, message, log_status=true)
+57:         return if quiet? || log_status == false
+58:         spaces = "  " * (padding + 1)
+59:         color  = log_status.is_a?(Symbol) ? log_status : :green
+60: 
+61:         status = status.to_s.rjust(12)
+62:         status = set_color status, color, true if color
+63: 
+64:         $stdout.puts "#{status}#{spaces}#{message}"
+65:         $stdout.flush
+66:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + yes?(statement, color=nil) + click to toggle source + +
+ +
+ +

+Make a question the to user and returns true if the user replies +“y” or “yes”. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/basic.rb, line 71
+71:       def yes?(statement, color=nil)
+72:         ask(statement, color) =~ is?(:yes)
+73:       end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + +
+ + dynamic_width() + click to toggle source + +
+ +
+ +

+Calculate the dynamic width of the terminal +

+ + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 249
+249:         def dynamic_width
+250:           @dynamic_width ||= (dynamic_width_stty.nonzero? || dynamic_width_tput)
+251:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + dynamic_width_stty() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 253
+253:         def dynamic_width_stty
+254:           %{stty size 2>/dev/null}.split[1].to_i
+255:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + dynamic_width_tput() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 257
+257:         def dynamic_width_tput
+258:           %{tput cols 2>/dev/null}.to_i
+259:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + terminal_width() + click to toggle source + +
+ +
+ +

+This code was copied from Rake, available under MIT-LICENSE Copyright +© 2003, 2004 Jim Weirich +

+ + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 237
+237:         def terminal_width
+238:           if ENV['THOR_COLUMNS']
+239:             result = ENV['THOR_COLUMNS'].to_i
+240:           else
+241:             result = unix? ? dynamic_width : 80
+242:           end
+243:           (result < 10) ? 80 : result
+244:         rescue
+245:           80
+246:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + truncate(string, width) + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 265
+265:         def truncate(string, width)
+266:           if string.length <= width
+267:             string
+268:           else
+269:             ( string[0, width-3] || "" ) + "..."
+270:           end
+271:         end
+
+ +
+ + + + +
+ + +
+ + +
+ + unix?() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/shell/basic.rb, line 261
+261:         def unix?
+262:           RUBY_PLATFORM =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/
+263:         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.0/rdoc/Thor/Shell/Color.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Color.html new file mode 100644 index 00000000..ab91f010 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/Color.html @@ -0,0 +1,504 @@ + + + + + + + Class: Thor::Shell::Color + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Thor::Shell::Color

+ +
+

+Inherit from Thor::Shell::Basic and add set_color behavior. Check Thor::Shell::Basic to see all available methods. +

+ +
+ + + +
+

Constants

+
+ +
CLEAR
+ +

+Embed in a String to clear all previous ANSI sequences. +

+ + +
BOLD
+ +

+The start of an ANSI bold sequence. +

+ + +
BLACK
+ +

+Set the terminal’s foreground ANSI color to black. +

+ + +
RED
+ +

+Set the terminal’s foreground ANSI color to red. +

+ + +
GREEN
+ +

+Set the terminal’s foreground ANSI color to green. +

+ + +
YELLOW
+ +

+Set the terminal’s foreground ANSI color to yellow. +

+ + +
BLUE
+ +

+Set the terminal’s foreground ANSI color to blue. +

+ + +
MAGENTA
+ +

+Set the terminal’s foreground ANSI color to magenta. +

+ + +
CYAN
+ +

+Set the terminal’s foreground ANSI color to cyan. +

+ + +
WHITE
+ +

+Set the terminal’s foreground ANSI color to white. +

+ + +
ON_BLACK
+ +

+Set the terminal’s background ANSI color to black. +

+ + +
ON_RED
+ +

+Set the terminal’s background ANSI color to red. +

+ + +
ON_GREEN
+ +

+Set the terminal’s background ANSI color to green. +

+ + +
ON_YELLOW
+ +

+Set the terminal’s background ANSI color to yellow. +

+ + +
ON_BLUE
+ +

+Set the terminal’s background ANSI color to blue. +

+ + +
ON_MAGENTA
+ +

+Set the terminal’s background ANSI color to magenta. +

+ + +
ON_CYAN
+ +

+Set the terminal’s background ANSI color to cyan. +

+ + +
ON_WHITE
+ +

+Set the terminal’s background ANSI color to white. +

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

Public Instance Methods

+ + +
+ + +
+ + set_color(string, color, bold=false) + click to toggle source + +
+ +
+ +

+Set color by using a string or one of the defined constants. If a third +option is set to true, it also adds bold to the string. This is based on +Highline implementation and it automatically appends CLEAR to the end of the returned String. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/color.rb, line 53
+53:       def set_color(string, color, bold=false)
+54:         color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol)
+55:         bold  = bold ? BOLD : ""
+56:         "#{bold}#{color}#{string}#{CLEAR}"
+57:       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.0/rdoc/Thor/Shell/HTML.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/HTML.html new file mode 100644 index 00000000..a9d09e27 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Shell/HTML.html @@ -0,0 +1,573 @@ + + + + + + + Class: Thor::Shell::HTML + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Methods

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

Class Index + [+]

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

Thor::Shell::HTML

+ +
+

+Inherit from Thor::Shell::Basic and add set_color behavior. Check Thor::Shell::Basic to see all available methods. +

+ +
+ + + +
+

Constants

+
+ +
BOLD
+ +

+The start of an HTML bold sequence. +

+ + +
END_BOLD
+ +

+The end of an HTML bold sequence. +

+ + +
CLEAR
+ +

+Embed in a String to clear previous color selection. +

+ + +
BLACK
+ +

+Set the terminal’s foreground HTML color to +black. +

+ + +
RED
+ +

+Set the terminal’s foreground HTML color to +red. +

+ + +
GREEN
+ +

+Set the terminal’s foreground HTML color to +green. +

+ + +
YELLOW
+ +

+Set the terminal’s foreground HTML color to +yellow. +

+ + +
BLUE
+ +

+Set the terminal’s foreground HTML color to +blue. +

+ + +
MAGENTA
+ +

+Set the terminal’s foreground HTML color to +magenta. +

+ + +
CYAN
+ +

+Set the terminal’s foreground HTML color to +cyan. +

+ + +
WHITE
+ +

+Set the terminal’s foreground HTML color to +white. +

+ + +
ON_BLACK
+ +

+Set the terminal’s background HTML color to +black. +

+ + +
ON_RED
+ +

+Set the terminal’s background HTML color to +red. +

+ + +
ON_GREEN
+ +

+Set the terminal’s background HTML color to +green. +

+ + +
ON_YELLOW
+ +

+Set the terminal’s background HTML color to +yellow. +

+ + +
ON_BLUE
+ +

+Set the terminal’s background HTML color to +blue. +

+ + +
ON_MAGENTA
+ +

+Set the terminal’s background HTML color to +magenta. +

+ + +
ON_CYAN
+ +

+Set the terminal’s background HTML color to +cyan. +

+ + +
ON_WHITE
+ +

+Set the terminal’s background HTML color to +white. +

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

Public Instance Methods

+ + +
+ + +
+ + ask(statement, color=nil) + click to toggle source + +
+ +
+ +

+Ask something to the user and receives a response. +

+

Example

+

+ask(“What is your name?”) +

+

+TODO: Implement ask for Thor::Shell::HTML +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/html.rb, line 68
+68:       def ask(statement, color=nil)
+69:         raise NotImplementedError, "Implement #ask for Thor::Shell::HTML"
+70:       end
+
+ +
+ + + + +
+ + +
+ + +
+ + set_color(string, color, bold=false) + click to toggle source + +
+ +
+ +

+Set color by using a string or one of the defined constants. If a third +option is set to true, it also adds bold to the string. This is based on +Highline implementation and it automatically appends CLEAR to the end of the returned String. +

+ + + +
+
+    # File lib/bundler/vendor/thor/shell/html.rb, line 56
+56:       def set_color(string, color, bold=false)
+57:         color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol)
+58:         bold, end_bold = bold ? [BOLD, END_BOLD] : ['', '']
+59:         "#{bold}#{color}#{string}#{CLEAR}#{end_bold}"
+60:       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.0/rdoc/Thor/Task.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Task.html new file mode 100644 index 00000000..1ace5f21 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Task.html @@ -0,0 +1,674 @@ + + + + + + + Class: Thor::Task + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::Task

+ +
+ +
+ + + +
+

Constants

+
+ +
FILE_REGEXP
+ +
+ + +
+
+ + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(name, description, long_description, usage, options=nil) + click to toggle source + +
+ +
+ + + + + +
+
+   # File lib/bundler/vendor/thor/task.rb, line 5
+5:     def initialize(name, description, long_description, usage, options=nil)
+6:       super(name.to_s, description, long_description, usage, options || {})
+7:     end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + formatted_usage(klass, namespace = true, subcommand = false) + click to toggle source + +
+ +
+ +

+Returns the formatted usage by injecting given required arguments and +required options into the given usage. +

+ + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 33
+33:     def formatted_usage(klass, namespace = true, subcommand = false)
+34:       if namespace
+35:         namespace = klass.namespace
+36:         formatted = "#{namespace.gsub(/^(default)/,'')}:"
+37:         formatted.sub!(/.$/, ' ') if subcommand
+38:       end
+39: 
+40:       formatted ||= ""
+41: 
+42:       # Add usage with required arguments
+43:       formatted << if klass && !klass.arguments.empty?
+44:         usage.to_s.gsub(/^#{name}/) do |match|
+45:           match << " " << klass.arguments.map{ |a| a.usage }.compact.join(' ')
+46:         end
+47:       else
+48:         usage.to_s
+49:       end
+50: 
+51:       # Add required options
+52:       formatted << " #{required_options}"
+53: 
+54:       # Strip and go!
+55:       formatted.strip
+56:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + hidden?() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 14
+14:     def hidden?
+15:       false
+16:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + run(instance, args=[]) + click to toggle source + +
+ +
+ +

+By default, a task invokes a method in the thor class. You can change this +implementation to create custom tasks. +

+ + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 20
+20:     def run(instance, args=[])
+21:       public_method?(instance) ?
+22:         instance.send(name, *args) : instance.class.handle_no_task_error(name)
+23:     rescue ArgumentError => e
+24:       handle_argument_error?(instance, e, caller) ?
+25:         instance.class.handle_argument_error(self, e) : (raise e)
+26:     rescue NoMethodError => e
+27:       handle_no_method_error?(instance, e, caller) ?
+28:         instance.class.handle_no_task_error(name) : (raise e)
+29:     end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + +
+ + handle_argument_error?(instance, error, caller) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 79
+79:     def handle_argument_error?(instance, error, caller)
+80:       not_debugging?(instance) && error.message =~ /wrong number of arguments/ && begin
+81:         saned = sans_backtrace(error.backtrace, caller)
+82:         # Ruby 1.9 always include the called method in the backtrace
+83:         saned.empty? || (saned.size == 1 && RUBY_VERSION >= "1.9")
+84:       end
+85:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + handle_no_method_error?(instance, error, caller) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 87
+87:     def handle_no_method_error?(instance, error, caller)
+88:       not_debugging?(instance) &&
+89:         error.message =~ /^undefined method `#{name}' for #{Regexp.escape(instance.to_s)}$/
+90:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + not_debugging?(instance) + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 60
+60:     def not_debugging?(instance)
+61:       !(instance.class.respond_to?(:debugging) && instance.class.debugging)
+62:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + required_options() + click to toggle source + +
+ +
+ + + + + +
+
+    # File lib/bundler/vendor/thor/task.rb, line 64
+64:     def required_options
+65:       @required_options ||= options.map{ |_, o| o.usage if o.required? }.compact.sort.join(" ")
+66:     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.0/rdoc/Thor/UndefinedTaskError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UndefinedTaskError.html new file mode 100644 index 00000000..7fa810e7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UndefinedTaskError.html @@ -0,0 +1,313 @@ + + + + + + + Class: Thor::UndefinedTaskError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::UndefinedTaskError

+ +
+

+Raised when a task was not found. +

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

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.0/rdoc/Thor/UnknownArgumentError.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UnknownArgumentError.html new file mode 100644 index 00000000..697e041d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/UnknownArgumentError.html @@ -0,0 +1,310 @@ + + + + + + + Class: Thor::UnknownArgumentError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Parent

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

Class Index + [+]

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

Thor::UnknownArgumentError

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

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.0/rdoc/Thor/Util.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Util.html new file mode 100644 index 00000000..11d2fb93 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/Thor/Util.html @@ -0,0 +1,984 @@ + + + + + + + Module: Thor::Util + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

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

Class Index + [+]

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

Thor::Util

+ +
+

+This module holds several utilities: +

+

+1) Methods to convert thor namespaces to constants and vice-versa. +

+
+  Thor::Utils.namespace_from_thor_class(Foo::Bar::Baz) #=> "foo:bar:baz"
+
+

+2) Loading thor files and sandboxing: +

+
+  Thor::Utils.load_thorfile("~/.thor/foo")
+ +
+ + + + + + + + + +
+

Public Class Methods

+ + +
+ + +
+ + camel_case(str) + click to toggle source + +
+ +
+ +

+Receives a string and convert it to camel case. camel_case returns CamelCase. +

+

Parameters

+

+String +

+

Returns

+

+String +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 104
+104:     def self.camel_case(str)
+105:       return str if str !~ /_/ && str =~ /[A-Z]+.*/
+106:       str.split('_').map { |i| i.capitalize }.join
+107:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + find_by_namespace(namespace) + click to toggle source + +
+ +
+ +

+Receives a namespace and search for it in the Thor::Base subclasses. +

+

Parameters

+ + +
namespace

+The namespace to search for. +

+
+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 24
+24:     def self.find_by_namespace(namespace)
+25:       namespace = "default#{namespace}" if namespace.empty? || namespace =~ /^:/
+26:       Thor::Base.subclasses.find { |klass| klass.namespace == namespace }
+27:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + find_class_and_task_by_namespace(namespace, fallback = true) + click to toggle source + +
+ +
+ +

+Receives a namespace and tries to retrieve a Thor or Thor::Group class from it. It first +searches for a class using the all the given namespace, if it’s not +found, removes the highest entry and searches for the class again. If +found, returns the highest entry as the class name. +

+

Examples

+
+  class Foo::Bar < Thor
+    def baz
+    end
+  end
+
+  class Baz::Foo < Thor::Group
+  end
+
+  Thor::Util.namespace_to_thor_class("foo:bar")     #=> Foo::Bar, nil # will invoke default task
+  Thor::Util.namespace_to_thor_class("baz:foo")     #=> Baz::Foo, nil
+  Thor::Util.namespace_to_thor_class("foo:bar:baz") #=> Foo::Bar, "baz"
+
+

Parameters

+

+namespace +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 131
+131:     def self.find_class_and_task_by_namespace(namespace, fallback = true)
+132:       if namespace.include?(::) # look for a namespaced task
+133:         pieces = namespace.split(":")
+134:         task   = pieces.pop
+135:         klass  = Thor::Util.find_by_namespace(pieces.join(":"))
+136:       end
+137:       unless klass # look for a Thor::Group with the right name
+138:         klass, task = Thor::Util.find_by_namespace(namespace), nil
+139:       end
+140:       if !klass && fallback # try a task in the default namespace
+141:         task = namespace
+142:         klass = Thor::Util.find_by_namespace('')
+143:       end
+144:       return klass, task
+145:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + globs_for(path) + click to toggle source + +
+ +
+ +

+Where to look for Thor files. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 210
+210:     def self.globs_for(path)
+211:       ["#{path}/Thorfile", "#{path}/*.thor", "#{path}/tasks/*.thor", "#{path}/lib/tasks/*.thor"]
+212:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + load_thorfile(path, content=nil, debug=false) + click to toggle source + +
+ +
+ +

+Receives a path and load the thor file in the path. The file is evaluated +inside the sandbox to avoid namespacing conflicts. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 150
+150:     def self.load_thorfile(path, content=nil, debug=false)
+151:       content ||= File.binread(path)
+152: 
+153:       begin
+154:         Thor::Sandbox.class_eval(content, path)
+155:       rescue Exception => e
+156:         $stderr.puts "WARNING: unable to load thorfile #{path.inspect}: #{e.message}"
+157:         if debug
+158:           $stderr.puts *e.backtrace
+159:         else
+160:           $stderr.puts e.backtrace.first
+161:         end
+162:       end
+163:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + namespace_from_thor_class(constant) + click to toggle source + +
+ +
+ +

+Receives a constant and converts it to a Thor +namespace. Since Thor tasks can be added to a +sandbox, this method is also responsable for removing the sandbox +namespace. +

+

+This method should not be used in general because it’s used to deal +with older versions of Thor. On current +versions, if you need to get the namespace from a class, just call +namespace on it. +

+

Parameters

+ + +
constant

+The constant to be converted to the thor path. +

+
+

Returns

+ + +
String

+If we receive Foo::Bar::Baz it returns “foo:bar:baz“ +

+
+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 43
+43:     def self.namespace_from_thor_class(constant)
+44:       constant = constant.to_s.gsub(/^Thor::Sandbox::/, "")
+45:       constant = snake_case(constant).squeeze(":")
+46:       constant
+47:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + namespaces_in_content(contents, file=__FILE__) + click to toggle source + +
+ +
+ +

+Given the contents, evaluate it inside the sandbox and returns the +namespaces defined in the sandbox. +

+

Parameters

+

+contents +

+

Returns

+

+Array[Object] +

+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 58
+58:     def self.namespaces_in_content(contents, file=__FILE__)
+59:       old_constants = Thor::Base.subclasses.dup
+60:       Thor::Base.subclasses.clear
+61: 
+62:       load_thorfile(file, contents)
+63: 
+64:       new_constants = Thor::Base.subclasses.dup
+65:       Thor::Base.subclasses.replace(old_constants)
+66: 
+67:       new_constants.map!{ |c| c.namespace }
+68:       new_constants.compact!
+69:       new_constants
+70:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + ruby_command() + click to toggle source + +
+ +
+ +

+Return the path to the ruby interpreter taking into account multiple +installations and windows extensions. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 217
+217:     def self.ruby_command
+218:       @ruby_command ||= begin
+219:         ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
+220:         ruby << RbConfig::CONFIG['EXEEXT']
+221: 
+222:         # escape string in case path to ruby executable contain spaces.
+223:         ruby.sub!(/.*\s.*/, '"\&"')
+224:         ruby
+225:       end
+226:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + snake_case(str) + click to toggle source + +
+ +
+ +

+Receives a string and convert it to snake case. SnakeCase returns +snake_case. +

+

Parameters

+

+String +

+

Returns

+

+String +

+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 90
+90:     def self.snake_case(str)
+91:       return str.downcase if str =~ /^[A-Z_]+$/
+92:       str.gsub(/\B[A-Z]/, '_\&').squeeze('_') =~ /_*(.*)/
+93:       return $+.downcase
+94:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + thor_classes_in(klass) + click to toggle source + +
+ +
+ +

+Returns the thor classes declared inside the given class. +

+ + + +
+
+    # File lib/bundler/vendor/thor/util.rb, line 74
+74:     def self.thor_classes_in(klass)
+75:       stringfied_constants = klass.constants.map { |c| c.to_s }
+76:       Thor::Base.subclasses.select do |subclass|
+77:         next unless subclass.name
+78:         stringfied_constants.include?(subclass.name.gsub("#{klass.name}::", ''))
+79:       end
+80:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + thor_root() + click to toggle source + +
+ +
+ +

+Returns the root where thor files are located, dependending on the OS. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 189
+189:     def self.thor_root
+190:       File.join(user_home, ".thor").gsub(/\\/, '/')
+191:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + thor_root_glob() + click to toggle source + +
+ +
+ +

+Returns the files in the thor root. On Windows thor_root will be something like +this: +

+
+  C:\Documents and Settings\james\.thor
+
+

+If we don’t gsub the \ character, Dir.glob will fail. +

+ + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 200
+200:     def self.thor_root_glob
+201:       files = Dir["#{thor_root}/*"]
+202: 
+203:       files.map! do |file|
+204:         File.directory?(file) ? File.join(file, "main.thor") : file
+205:       end
+206:     end
+
+ +
+ + + + +
+ + +
+ + +
+ + user_home() + click to toggle source + +
+ +
+ + + + + +
+
+     # File lib/bundler/vendor/thor/util.rb, line 165
+165:     def self.user_home
+166:       @@user_home ||= if ENV["HOME"]
+167:         ENV["HOME"]
+168:       elsif ENV["USERPROFILE"]
+169:         ENV["USERPROFILE"]
+170:       elsif ENV["HOMEDRIVE"] && ENV["HOMEPATH"]
+171:         File.join(ENV["HOMEDRIVE"], ENV["HOMEPATH"])
+172:       elsif ENV["APPDATA"]
+173:         ENV["APPDATA"]
+174:       else
+175:         begin
+176:           File.expand_path("~")
+177:         rescue
+178:           if File::ALT_SEPARATOR
+179:             "C:/"
+180:           else
+181:             "/"
+182:           end
+183:         end
+184:       end
+185:     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.0/rdoc/created.rid b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/created.rid new file mode 100644 index 00000000..a7d3e655 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/created.rid @@ -0,0 +1,65 @@ +Thu, 23 Sep 2010 23:33:55 -0500 +lib/bundler/vendor/thor.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/task.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/options.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-update Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/environment.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/ordered_hash.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/ui.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/shared_helpers.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/setup.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/rubygems_ext.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/index.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/dependency.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/version.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/color.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/basic.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/argument.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/templates/Executable Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/remote_specification.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/gemfile.5.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/templates/Gemfile Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/spec_set.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/graph.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/gem_helper.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/version.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/util.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/empty_directory.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/create_file.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/source.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-update.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-exec.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-config Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/capistrano.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-package.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-package Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-install Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/html.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/runtime.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/resolver.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/definition.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/file_binary_read.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/inject_into_file.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/settings.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-install.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/lockfile_parser.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/lazy_specification.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/option.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-config.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/invocation.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/error.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/directory.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/installer.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/cli.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/arguments.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/base.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/file_manipulation.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-exec Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/dsl.rb Thu, 23 Sep 2010 23:33:39 -0500 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/brick.png new file mode 100644 index 0000000000000000000000000000000000000000..7851cf34c946e5667221e3478668503eb1cd733f GIT binary patch literal 452 zcmV;#0XzPQP)Pdwe5?6tW?r-ok|b$oDQj8FV%kZPq;(MWOV8?8;<)(iP}>hNMU> z7fbz%jjlr7h8uuoQ~J6}n}@Y@PdTk=)PxO{%7zmL?dchpZX*~n;I{!C>*(8cU;q(~ zAS%Po_@naEU!xidrBXD?;hN|x^%W|Ij)0y*r5vi|?W&Fub(NqJ@z0o=O&SR3v>A``^efOSo-hEdApp;^Jd;9y!%1UfzX6Bh- z%-mbG|0Na{7Ruai_Y+DEb1s+b!*9k%Q!whMxjtZKA*?o;i1g&jy0@( zaU=-@d-h+o%gal6JRXEXA&L3`d2 z%jIxzZ~*p9O-;EJp_Ds0If38rM<5W8ic~K>FOK&2_p!CLg^i63OioVb6k$)zWHLx3 z5;!|M!}<9+#QSi1dRlbEcxPt^;cysUuU8@%3}RwpLRIGG<|IKnoyP6$Eh3SKw7a*r zSDXP=IYc&YZf;7@?fCe($^l9ORaJ3wbAx0uiC8QqRr$2t-Cfy8%XCI3B%pxJW>XdM zw~zPt_s}#A@pxQ5Ly)4szaMtH9lgE1SXx@b+S(fW`ub$fYPE8J7#bSNDzme*Ub07{ zQKV8SjEs!%0@v5ql8ggm!@$6Rbi^E8vBqpRM-}l+@5OSMrl+TWj*gC^qoV@>u{fQb zov5v?g~?>X@bEC&+uLPaQ&Ypn-y~^mZA}+f(&2EFH8eE%dU|@ENpN*_1-)L6_4Rc* zFuq@`IjX9vp1QiaK9ZojyZhnQURP99d=u;%37VRkpwsD4U0sd3x;hEQB&e^i|3QN0 z=H|Os1fRqaw!?#igLmS4HE!G3*ce(`TF} zlgUq0Q544c8(ae&UR$8ps&snq6^bPY3v3xAmMW74Di$h~GCH6E3TaYs2#6A<7K*gC z777H71_Wa;(dfp+g-drPCSWu)#PInZi72LJ;o?i~$-U=y&UbQ89Dul3%3P+Axkzc* zbH-y;QF=hR{qLItf%ci2_&e5wNo0gnVatG?ul6Zw=o$I9Ljfn*ic3`U?>IfEim3g{ zujU&$-hy6wn;w(xme|zJm;lWJxtTFfM)q0`kX!Vu0+d${$}LCddK1<^htTe-fUYL3 zB`SdNsZD>RgvLj1<^@h6_+cDRK2Brcr2~>%$*5S)hyV33PV^teac3%|4lz@8p4?)5 z?t5o^?q+%^%)Yygo~I^U4VR!bTnWuE35hcWrfCDR3q+sxJ79e7Fg`&)RCqLA^2^y^ z0laVfadW90_Fz8Brm|r47sB^u1VgI>kanj)Z4`zMSfHlm8>CwXa$JVM`$2RrmZB-3 zN10m-!;BvH*Br3V8t`DH7m`jf#2upVDXl{5ff18_pzCPK1Zu$$CKKvd8FGeFf)+K<|x33pc7P&S#3GZT4mEw;nr(Ze*F z3&*?-4U-lm*#tber5 z%S_ceqB`b3ko6r~BbvDwdohTvP(3a(pq{x#T$yQsu#OKwEe}KuH^Mh@nxg_(Nw136 zq#a^3xNBke)In+!?qk3%4wB69{pF`Tzg`07*qoM6N<$ Eg55P&8UO$Q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_black.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/bullet_black.png new file mode 100644 index 0000000000000000000000000000000000000000..57619706d10d9736b1849a83f2c5694fbe09c53b GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-$h^>lFz(Kw&{<9vg>5sw~gS5O!4 zr|{HuUFIBKiQyL}eBJ-L{`UVT|6_O~L{G%N{Wbre{kQtZ_0LvEhC#5QQ<|d}62BjvZR2H60wE-$h^mK6y(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz1H+_;eX)`ni0%X8XBDc-`=Ph(Uan2 zYsR{H!kvIN--9isvHznRsC#5QQ<|d}62BjvZR2H60wE-$h_H=O!(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz4q@v|B?28{s)#N@CGn3@%_y|zAV9T z66e<&B4?b6oF&azg|C(V&1ZbI_D}pL`}(^FT2yXwG1Ph~$Q@h8mJYOz!PC{xWt~$( F699+YQR)By literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/date.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/date.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 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 Dl)1NK literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/macFFBgHack.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/macFFBgHack.png new file mode 100644 index 0000000000000000000000000000000000000000..c6473b324ee1dae1faaacc0826639833f551116c GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIEX7WqAsj$Z!;#Vf4nJ za0`Jjl>Qs8<JF;+Fd5q0wCR k?u=~bH}2*0f`J3~k>FVdQ&MBb@0BAfpf&c&j literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/package.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/package.png new file mode 100644 index 0000000000000000000000000000000000000000..da3c2a2d74bab159ba0f65d7db601768258afcb2 GIT binary patch literal 853 zcmV-b1FHOqP)5TQ^(M5v$(QKVE?W+9X! z*o}&~6c?_FreF)9NJB7b5Nbn{G0n4+%uJhR9(V5R|NFTpb|HgjefT!tIhLx@DR+N) zV+fHiR5Yt19}k|KnCsND{tH-`IMJ)3AE?OtyZ4>Un|6(d%h#JK`i&a7^xW9>`yBy` zS4SOHeOpC7$?hH5-#7Rswiue_8Ju*2N@$58=a#2OTA3png`w3v->gWif7t%e$ z$NLVS!tFT#8WL|Wa&K~+{%4P2cRfwesYV1_!F=3OaRVHl(>=`%&{x*s30c}#CNE@&;ItrAv!f!)Oy$Q9t$uS=(sD$-J{T*^(8Eez1E-l3}} zPrfHZ1`qsIFe&gipuL8-IZbo2Yg{lFGKs?ZZWcOaOdk*3`5T;$?AjbG1#`B510Er^h2)2r3Y{!8_2Gj=$KzuN5 zaErtW8W_Y2iJJjY)5pmTVJoPJYpanPOEuYHclM^C1F>${hFRpdi8a<2H|Xudf78bm(zwJ9`K%6I?q*Ua~ fW9JvIbn5*B+_J)rUMBs>00000NkvXXu0mjfH&TkY literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_green.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_green.png new file mode 100644 index 0000000000000000000000000000000000000000..de8e003f9fb8752c09e7f3655d5d8664b5c62fc3 GIT binary patch literal 621 zcmV-z0+RiSP)QqUjAtB;_Vvt6}AS_5YgM`Uqu`yva+H8^=4U$e4gHb}u zAQ2N{V3A%pO|?Pv?tb6z=jC}SiRa$G^v3q?*6XcYz$p|cq{uLj@#~Fi`J(>5{@&&N zy%T^+;>8cXx%|o77anP?&W1?1A(>-T49z9pyeCl@7YI+Si zKti7=B~``}TImz(G{0PnlQA3P#MAd}sorMjkP!50B7$nAkU^%#nl{Q9lW0@}9fE-> zN(q7tRuiC_T1r|BBtVBTlQ2+70$Rf;eF`Z;lx46Cpu-rEgb)EBKq(b^W8l<^We(`D z43?0=01z<3G6+UUv6`CsWCk6^93!#+<;ws7007{zS3k2k9-zZKFO~(k`>s0y006+1 zgF_jyIhsL-`FMf~JL~C=cV75(CrJ|q;MVO961G=O zm9d)YpJg5g(4i_HKL75eSE}mq$Y}r}hyVdcV~p>6a}oXr80q`oj%+s700000NkvXX Hu0mjfPs|!l literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_text.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/page_white_text.png new file mode 100644 index 0000000000000000000000000000000000000000..813f712f726c935f9adf8d2f2dd0d7683791ef11 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-%6;pyTSA|c6o&@eC9QG)Hj&ExYL zO&oVL^)+cM^qd@ApywS>pwx0H@RDN}hq;7mU-SKczYQ-hnrr=;iDAQMZQ+*g=YOM= z!QlMQEn7FbaD->uKAYgo_j9)W&$$zS*W9}m(ey0q$&7l-XEWO0Y(9M=SnhLbwy;d>@~SY$Ku*0xPvIOQeV1x7u_z-2-X>_74(yfh7C znXL|3GZ+d2`3re2hs?MKC#5QQ<|d}62BjvZR2H60wE-$R?&;zfqH(@;q9b3Efq-lM(nr^( z=EYR73-9e)UYMWsXy%?aZsD68Yyv^2$~6QgEcljw%kx>O(f-gQ?@fOOx3A-0+Qw?O zRx~W)kn~Qe2d6f9nMG#g9Q04Mk==M~N!Dglvxk!fgVh#w@ZV$IY1+Xc`d{d2UcaP~ zfWp)_Ivqj}l2SPy^9ZWy6rG9Yx4v67_uA&&9|XA~5-#3)W3%em1peD8RWH^#O%XoM zxMPud%}GTj#~*+7JMxTd!`{^Q+>(D3*|@KV`*G2;{QnANOxu1$r2xIe;OXk;vd$@? F2>@zac~<}c literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/plugin.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..6187b15aec001b7080b51a5f944f07591f26cc15 GIT binary patch literal 591 zcmV-V0eEcNHZMNv|IbJ-M`( zKwWL~opzjJe^WpCmV9E;(0&ut2;4va_(#>M8)>9$R5viQnf(Nkh~VM$y>J(jqb$cj z+nL1Nm|mV)Gm|9MnHf*7Ja4OEAQz__^LRKOLEwqpiGV^^A*T=#&inGm-62Xs;dnSp zKj&H9T*boh2i)W+(n27l!C)>fq|L%VB1i ziC4p;NwV_}ZjW7$LRW#(_bKF#hp=!IqNO26Z*w2+LEwx{PVnZ&Sn}T;mtzb$;qA*nT@@+ zV5uQ@iXDTPoTbV#FRr~z04|PPh`wXTNoCm9*tG&?e3+fYl>K6+&3|Cc$KOpL`ER+_ dcRl5U#9zn6ZO}GFk7R5;7c zlif>`Q5?tj7Yw@ZCMtTF^Q|ZedeJhM%QPCR*bs8V79p$QTo7e94yQNXRs-{0?hOn_-8n0AMO@u1Ts zNl8QzJs1#rz%RBt?ux>l+amAvh+J!{$lkaqv}+Erb-6j2xp>K4GLQnNB*W`hFg*?P z^AL@~(h~Z+wfcWEXHqV^Tq-#z$7Y#o0;yFxA!00F}F2dX# zjE$iOgT#G4*1TR6kB1Gnn@>$meCh2a>c5YuIvFn-R2W@>4@M*m@-|jiDV?b)bccgA zyPfsMM!rjy>+1O2)5Eg29Z_*2p&qGnmS!OH?vZ(4>QB01d>j%9n4QINxkyT(Dos?I zjaWF$*IQmh`SF-?xU%xMEfjq1=6qY*g&lgG_cXv$BGoIWyfO5 zp>pdV*O+y=&6@N2WWFo(%RtT`Q(H^6zn^a%epE~Kx^mEJ{c8`luC$nc*z9j|4Ms8aJK-la^5T)AZ%#@G{_P{NCN^P z(J0zvSn~SSm(Ur);-M~8^*;61*VRI`T1BN&LAhK;sZ>I-SVW;vfUfJv=ko^ugnc0x zhJodBxe>iyk3%w<%wC8holUJ4(iv>tL{`DQt zPOsyUbO_Cmc&*iHkqbm3ku`|GcC^OhF>jj9W*GkH;^g!iUVpib_h*=@udp4h(P+e*zL_~ZmJjh(y^BxULwq>9zXoYE8sq{#pN~U0C6!8vY)5N2 z9P*}mw}7X$O^qTtJef1ACWvJT9^wt-)Zh0r~j#0bT`f;-zv6 z^Tmw22!%rMcs!TaUX<-8s;X-B`+Xbo+_uWuFa z1yIPc?DTrQ7KvRhmt*TG|L=EYQ=LqFX;=Lp`4}jx6BE-@00000NkvXXu0mjf=s_29 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench.png b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/images/wrench.png new file mode 100644 index 0000000000000000000000000000000000000000..5c8213fef5ab969f03189d4367e32e597e38bd7f GIT binary patch literal 610 zcmV-o0-gPdP)^jb z4`0v}DG1te)wmeb(>p90leRz?_mO+^JKy=v&2<29Od6?F%9%(c8los#f*@G`-%W&* z$)uBj2i@u-@SgX}gtyWPe6d*|w6h%R? zScK2#Yn%$sum0cy>90DmY*i{1XqpClEtktsRTZ)lCUe z<FogV^*tm>8*AlX za4oiR!&85LrobG57qUHUX#{>Vz(RHpB5|@>9O6N$jqB8>%($0wxE5R3)b>Y~xtCo$ zCgEk&A?_#IxHdN)9tqre^o{ho4{?hmPuf@^@I3-wncaRd%|~O3xbrKY=&TiwPYkJroM{;WUQTuMY8vpg}f4o)2%U3C;eEDoiEh?94d(rV57VIF#8VqzW$HrDC|#U`x@QDbgi zVl)t9GGz&YY#D?gc%>hISA+_EBpnXt#pnC`p6@xw0$8TCbULjhlgVx(kuc)%xbgqq zR5+DNDFRN0!y)7Gm}oT0i39}h4h928qY?Rho^UvPGJ#kuW|-Amtrn`Pmd&+bFo@sp z$LI4IQw7BG?|#2ewOS<<3VjL$0=lMY^m;wqZujv5kx1l%Sl;V&Iy4#$ip3&@LV2!7vhhN=PCz%^9v24`qb(+m4W?!q-&~=?ssf5GfnAmJKV;3bvpDm0(NhahZ=&^sqo6Odj6>)Dq_3p~4~ zvb`d3Mydwjt&Df^hVmLtI2x=U&h9(JVYX-!y~z3zi;1>=LY;o(bL$(Yf$lf)dMf0-u^0HrpTG Wk@)HE*94aU0000m+BBgry{~j2fHLegbHP( zrgXNbr0}2;^nywdjLjZe?uxtrd3D(pZH@fFFc0{BW_~jxoO1w7-VX;6vK@ROA$$R6 zEmo;Ht-Mj|>5jUy{bQ^V5@53LRI8AgLpUm|m+15sqcz@QtVSo|oz7ArM8?pIn+>gN z0b=4_b5O|4A*;Q+vc9Vqr~%3V155*NV~@gTz}KSUiKB-uJzjMZ>5%Q#n24H!V{ zTY(LLAE*NAHZ}C#wnj%Bw5OFIkRhkkAW#kDC3j9Wm0YXRaXlyyp>#mVfYG)eC;@ab zDb=T-BCAY4LI(Z@GOTr2V_A{pRwSmz+8Be>CjAw(=gnbVWAeguvZa93JmL(EDxv1m z0OP4q=fpAK1Mq!C2`OkEn37o;m#wF#(t(8Pu#S?2f#x<~4EO{@fmm`p9veD6RZ_jp z@Au4};q&`XuKEYgIiB4((kgxOs#YdqJw0fY>9^K_agEu5+$#k;w#%I2N>n_?)YIqu z`tq&#_^p?-%K*U0^}|7+9U(&k0?s;=r=uCZ%)H9_edH8wK}gB(nUB1FFk+2Ol%BXV zHoFY`D~2x|2 + + + + + + + bundler-1.0.0 Documentation + + + + + + + + + + + + +

bundler-1.0.0 Documentation

+ + +

This is the API documentation for 'bundler-1.0.0 Documentation'.

+ + + + +

Files

+ + + +

Classes/Modules

+ + +

Methods

+ + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/darkfish.js b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/darkfish.js new file mode 100644 index 00000000..84565c1e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/darkfish.js @@ -0,0 +1,116 @@ +/** + * + * Darkfish Page Functions + * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Provide console simulation for firebug-less environments */ +if (!("console" in window) || !("firebug" in console)) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", + "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; + + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +}; + + +/** + * Unwrap the first element that matches the given @expr@ from the targets and return them. + */ +$.fn.unwrap = function( expr ) { + return this.each( function() { + $(this).parents( expr ).eq( 0 ).after( this ).remove(); + }); +}; + + +function showSource( e ) { + var target = e.target; + var codeSections = $(target). + parents('.method-detail'). + find('.method-source-code'); + + $(target). + parents('.method-detail'). + find('.method-source-code'). + slideToggle(); +}; + +function hookSourceViews() { + $('.method-description,.method-heading').click( showSource ); +}; + +function toggleDebuggingSection() { + $('.debugging-section').slideToggle(); +}; + +function hookDebuggingToggle() { + $('#debugging-toggle img').click( toggleDebuggingSection ); +}; + +function hookQuickSearch() { + $('.quicksearch-field').each( function() { + var searchElems = $(this).parents('.section').find( 'li' ); + var toggle = $(this).parents('.section').find('h3 .search-toggle'); + // console.debug( "Toggle is: %o", toggle ); + var qsbox = $(this).parents('form').get( 0 ); + + $(this).quicksearch( this, searchElems, { + noSearchResultsIndicator: 'no-class-search-results', + focusOnLoad: false + }); + $(toggle).click( function() { + // console.debug( "Toggling qsbox: %o", qsbox ); + $(qsbox).toggle(); + }); + }); +}; + +function highlightTarget( anchor ) { + console.debug( "Highlighting target '%s'.", anchor ); + + $("a[name=" + anchor + "]").each( function() { + if ( !$(this).parent().parent().hasClass('target-section') ) { + console.debug( "Wrapping the target-section" ); + $('div.method-detail').unwrap( 'div.target-section' ); + $(this).parent().wrap( '
' ); + } else { + console.debug( "Already wrapped." ); + } + }); +}; + +function highlightLocationTarget() { + console.debug( "Location hash: %s", window.location.hash ); + if ( ! window.location.hash || window.location.hash.length == 0 ) return; + + var anchor = window.location.hash.substring(1); + console.debug( "Found anchor: %s; matching %s", anchor, "a[name=" + anchor + "]" ); + + highlightTarget( anchor ); +}; + +function highlightClickTarget( event ) { + console.debug( "Highlighting click target for event %o", event.target ); + try { + var anchor = $(event.target).attr( 'href' ).substring(1); + console.debug( "Found target anchor: %s", anchor ); + highlightTarget( anchor ); + } catch ( err ) { + console.error( "Exception while highlighting: %o", err ); + }; +}; + + +$(document).ready( function() { + hookSourceViews(); + hookDebuggingToggle(); + hookQuickSearch(); + highlightLocationTarget(); + + $('ul.link-list a').bind( "click", highlightClickTarget ); +}); diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/jquery.js b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/jquery.js new file mode 100644 index 00000000..afe9e74c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/jquery.js @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.6 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-09-25 09:50:52 -0700 (Thu, 25 Sep 2008) $ + * $Rev: 38 $ + */ +(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else +return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
","
"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else +while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else +xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); \ No newline at end of file diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/quicksearch.js b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/quicksearch.js new file mode 100644 index 00000000..70dbd33c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/quicksearch.js @@ -0,0 +1,114 @@ +/** + * + * JQuery QuickSearch - Hook up a form field to hide non-matching elements. + * $Id: quicksearch.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ +jQuery.fn.quicksearch = function( target, searchElems, options ) { + // console.debug( "Quicksearch fn" ); + + var settings = { + delay: 250, + clearButton: false, + highlightMatches: false, + focusOnLoad: false, + noSearchResultsIndicator: null + }; + if ( options ) $.extend( settings, options ); + + return jQuery(this).each( function() { + // console.debug( "Creating a new quicksearch on %o for %o", this, searchElems ); + new jQuery.quicksearch( this, searchElems, settings ); + }); +}; + + +jQuery.quicksearch = function( searchBox, searchElems, settings ) { + var timeout; + var boxdiv = $(searchBox).parents('div').eq(0); + + function init() { + setupKeyEventHandlers(); + focusOnLoad(); + }; + + function setupKeyEventHandlers() { + // console.debug( "Hooking up the 'keypress' event to %o", searchBox ); + $(searchBox). + unbind( 'keyup' ). + keyup( function(e) { return onSearchKey( e.keyCode ); }); + $(searchBox). + unbind( 'keypress' ). + keypress( function(e) { + switch( e.which ) { + // Execute the search on Enter, Tab, or Newline + case 9: + case 13: + case 10: + clearTimeout( timeout ); + e.preventDefault(); + doQuickSearch(); + break; + + // Allow backspace + case 8: + return true; + break; + + // Only allow valid search characters + default: + return validQSChar( e.charCode ); + } + }); + }; + + function focusOnLoad() { + if ( !settings.focusOnLoad ) return false; + $(searchBox).focus(); + }; + + function onSearchKey ( code ) { + clearTimeout( timeout ); + // console.debug( "...scheduling search." ); + timeout = setTimeout( doQuickSearch, settings.delay ); + }; + + function validQSChar( code ) { + var c = String.fromCharCode( code ); + return ( + (c == ':') || + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') + ); + }; + + function doQuickSearch() { + var searchText = searchBox.value; + var pat = new RegExp( searchText, "im" ); + var shownCount = 0; + + if ( settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).hide(); + } + + // All elements start out hidden + $(searchElems).each( function(index) { + var str = $(this).text(); + + if ( pat.test(str) ) { + shownCount += 1; + $(this).fadeIn(); + } else { + $(this).hide(); + } + }); + + if ( shownCount == 0 && settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).slideDown(); + } + }; + + init(); +}; diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/thickbox-compressed.js b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/thickbox-compressed.js new file mode 100644 index 00000000..3a3fdae1 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/js/thickbox-compressed.js @@ -0,0 +1,10 @@ +/* + * Thickbox 3 - One Box To Rule Them All. + * By Cody Lindley (http://www.codylindley.com) + * Copyright (c) 2007 cody lindley + * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php +*/ + +var tb_pathToImage = "../images/loadingAnimation.gif"; + +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('$(o).2S(9(){1u(\'a.18, 3n.18, 3i.18\');1w=1p 1t();1w.L=2H});9 1u(b){$(b).s(9(){6 t=X.Q||X.1v||M;6 a=X.u||X.23;6 g=X.1N||P;19(t,a,g);X.2E();H P})}9 19(d,f,g){3m{3(2t o.v.J.2i==="2g"){$("v","11").r({A:"28%",z:"28%"});$("11").r("22","2Z");3(o.1Y("1F")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}n{3(o.1Y("B")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}3(1K()){$("#B").1J("2B")}n{$("#B").1J("2z")}3(d===M){d=""}$("v").q("<4 5=\'K\'><1I L=\'"+1w.L+"\' />");$(\'#K\').2y();6 h;3(f.O("?")!==-1){h=f.3l(0,f.O("?"))}n{h=f}6 i=/\\.2s$|\\.2q$|\\.2m$|\\.2l$|\\.2k$/;6 j=h.1C().2h(i);3(j==\'.2s\'||j==\'.2q\'||j==\'.2m\'||j==\'.2l\'||j==\'.2k\'){1D="";1G="";14="";1z="";1x="";R="";1n="";1r=P;3(g){E=$("a[@1N="+g+"]").36();25(D=0;((D&1d;&1d;2T &2R;"}n{1D=E[D].Q;1G=E[D].u;14="<1e 5=\'1U\'>&1d;&1d;&2O; 2N"}}n{1r=1b;1n="1t "+(D+1)+" 2L "+(E.1c)}}}S=1p 1t();S.1g=9(){S.1g=M;6 a=2x();6 x=a[0]-1M;6 y=a[1]-1M;6 b=S.z;6 c=S.A;3(b>x){c=c*(x/b);b=x;3(c>y){b=b*(y/c);c=y}}n 3(c>y){b=b*(y/c);c=y;3(b>x){c=c*(x/b);b=x}}13=b+30;1a=c+2G;$("#8").q("<1I 5=\'2F\' L=\'"+f+"\' z=\'"+b+"\' A=\'"+c+"\' 23=\'"+d+"\'/>"+"<4 5=\'2D\'>"+d+"<4 5=\'2C\'>"+1n+14+R+"<4 5=\'2A\'>1l 1k 1j 1s");$("#Z").s(G);3(!(14==="")){9 12(){3($(o).N("s",12)){$(o).N("s",12)}$("#8").C();$("v").q("<4 5=\'8\'>");19(1D,1G,g);H P}$("#1U").s(12)}3(!(R==="")){9 1i(){$("#8").C();$("v").q("<4 5=\'8\'>");19(1z,1x,g);H P}$("#1X").s(1i)}o.1h=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}n 3(I==3k){3(!(R=="")){o.1h="";1i()}}n 3(I==3j){3(!(14=="")){o.1h="";12()}}};16();$("#K").C();$("#1L").s(G);$("#8").r({Y:"T"})};S.L=f}n{6 l=f.2r(/^[^\\?]+\\??/,\'\');6 m=2p(l);13=(m[\'z\']*1)+30||3h;1a=(m[\'A\']*1)+3g||3f;W=13-30;V=1a-3e;3(f.O(\'2j\')!=-1){1E=f.1B(\'3d\');$("#15").C();3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s ")}n{$("#B").N();$("#8").q(" ")}}n{3($("#8").r("Y")!="T"){3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s<4 5=\'F\' J=\'z:"+W+"p;A:"+V+"p\'>")}n{$("#B").N();$("#8").q("<4 5=\'F\' 3c=\'3b\' J=\'z:"+W+"p;A:"+V+"p;\'>")}}n{$("#F")[0].J.z=W+"p";$("#F")[0].J.A=V+"p";$("#F")[0].3a=0;$("#1H").11(d)}}$("#Z").s(G);3(f.O(\'37\')!=-1){$("#F").q($(\'#\'+m[\'26\']).1T());$("#8").24(9(){$(\'#\'+m[\'26\']).q($("#F").1T())});16();$("#K").C();$("#8").r({Y:"T"})}n 3(f.O(\'2j\')!=-1){16();3($.1q.35){$("#K").C();$("#8").r({Y:"T"})}}n{$("#F").34(f+="&1y="+(1p 33().32()),9(){16();$("#K").C();1u("#F a.18");$("#8").r({Y:"T"})})}}3(!m[\'1A\']){o.21=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}}}}31(e){}}9 1m(){$("#K").C();$("#8").r({Y:"T"})}9 G(){$("#2Y").N("s");$("#Z").N("s");$("#8").2X("2W",9(){$(\'#8,#B,#1F\').2V("24").N().C()});$("#K").C();3(2t o.v.J.2i=="2g"){$("v","11").r({A:"1Z",z:"1Z"});$("11").r("22","")}o.1h="";o.21="";H P}9 16(){$("#8").r({2U:\'-\'+20((13/2),10)+\'p\',z:13+\'p\'});3(!(1V.1q.2Q&&1V.1q.2P<7)){$("#8").r({38:\'-\'+20((1a/2),10)+\'p\'})}}9 2p(a){6 b={};3(!a){H b}6 c=a.1B(/[;&]/);25(6 i=0;i + + + + + + + File: capistrano.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+

+Capistrano task for Bundler. +

+

+Just add “require ‘bundler/capistrano’” in your +Capistrano deploy.rb, and Bundler will be +activated after each new deployment. +

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/cli_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/cli_rb.html new file mode 100644 index 00000000..03bc5a70 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/cli_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: cli.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor
  • + +
  • thor/actions
  • + +
  • rubygems/config_file
  • + +
  • bundler/setup
  • + +
  • irb
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/definition_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/definition_rb.html new file mode 100644 index 00000000..02229a09 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/definition_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: definition.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • digest/sha1
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dependency_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dependency_rb.html new file mode 100644 index 00000000..ed0770d5 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dependency_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: dependency.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • rubygems/dependency
  • + +
  • bundler/shared_helpers
  • + +
  • bundler/rubygems_ext
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dsl_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dsl_rb.html new file mode 100644 index 00000000..cd2e3e6b --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/dsl_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: dsl.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • bundler/dependency
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/environment_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/environment_rb.html new file mode 100644 index 00000000..e38c509d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/environment_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: environment.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/gem_helper_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/gem_helper_rb.html new file mode 100644 index 00000000..75c4a595 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/gem_helper_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: gem_helper.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • open3
  • + +
  • thor
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/graph_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/graph_rb.html new file mode 100644 index 00000000..7a021bcc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/graph_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: graph.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • graphviz
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/index_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/index_rb.html new file mode 100644 index 00000000..38eadb22 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/index_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: index.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/installer_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/installer_rb.html new file mode 100644 index 00000000..1c4a79a0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/installer_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: installer.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • erb
  • + +
  • rubygems/dependency_installer
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lazy_specification_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lazy_specification_rb.html new file mode 100644 index 00000000..f2ef28e2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lazy_specification_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: lazy_specification.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • uri
  • + +
  • rubygems/spec_fetcher
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lockfile_parser_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lockfile_parser_rb.html new file mode 100644 index 00000000..157bc802 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/lockfile_parser_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: lockfile_parser.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • strscan
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config.html new file mode 100644 index 00000000..0e17c6d7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config.html @@ -0,0 +1,250 @@ + + + + + + + + File: bundle-config [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config_txt.html new file mode 100644 index 00000000..9c62c190 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-config_txt.html @@ -0,0 +1,250 @@ + + + + + + + + File: bundle-config.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec.html new file mode 100644 index 00000000..2ef0deba --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec.html @@ -0,0 +1,321 @@ + + + + + + + + File: bundle-exec [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE-EXEC” “1” “August 2010” +“” “” . .SH “NAME” fBbundle-execfR - +Execute a command in the context of the bundle . .SH “SYNOPSIS” +fBbundle execfR fIcommandfR . .SH “DESCRIPTION” This command +executes the command, making all gems specified in the fBGemfile(5)fR +available to fBrequirefR in Ruby programs. . .P Essentially, if you would +normally have run something like fBrspec spec/my_spec\.rbfR, and you want +to use the gems specified in the fBGemfile(5)fR and installed via bundle +install(1) fIbundle-install.1.htmlfR, you should run fBbundle exec rspec +spec/my_spec\.rbfR. . .P Note that fBbundle execfR does not require that an +executable is available on your shell's fB$PATHfR. . .SH “BUNDLE +INSTALL -\-BINSTUBS” If you use the fB-\-binstubsfR flag in bundle +install(1) fIbundle-install.1.htmlfR, Bundler will automatically create a +directory (which defaults to fBapp_root/bin\fR) containing all of the +executables available from gems in the bundle. . .P After using +fB-\-binstubsfR, fBbin/rspec spec/my_spec\.rbfR is identical to fBbundle +exec rspec spec/my_spec\.rbfR. . .SH “ENVIRONMENT +MODIFICATIONS” fBbundle execfR makes a number of changes to the shell +environment, then executes the command you specify in full. . .IP +“(bu” 4 make sure that it's still possible to shell out to +fBbundlefR from inside a command invoked by fBbundle execfR (using +fB$BUNDLE_BIN_PATH\fR) . .IP “(bu” 4 put the directory +containing executables (like fBrailsfR, fBrspecfR, fBrackupfR) for your +bundle on fB$PATHfR . .IP “(bu” 4 make sure that if bundler is +invoked in the subshell, it uses the same fBGemfilefR (by setting +fBBUNDLE_GEMFILE\fR) . .IP “(bu” 4 add fB-rbundler/setup\fR to +fB$RUBYOPTfR, which makes sure that Ruby programs invoked in the subshell +can see the gems in the bundle . .IP “” 0 . .P It also modifies +Rubygems: . .IP “(bu” 4 disallow loading additional gems not in +the bundle . .IP “(bu” 4 modify the fBgemfR method to be a +no-op if a gem matching the requirements is in the bundle, and to raise a +fBGem::LoadErrorfR if it's not . .IP “(bu” 4 Define +fBGem.refreshfR to be a no-op, since the source index is always frozen when +using bundler, and to prevent gems from the system leaking into the +environment . .IP “(bu” 4 Override fBGem.bin_path\fR to use the +gems in the bundle, making system executables work . .IP “(bu” +4 Add all gems in the bundle into Gem.loaded_specs . .IP “” 0 . +.SH “RUBYGEMS PLUGINS” At present, the Rubygems plugin system +requires all files named fBrubygems_plugin\.rbfR on the load path of +fIanyfR installed gem when any Ruby code requires fBrubygems.rbfR. This +includes executables installed into the system, like fBrailsfR, fBrackupfR, +and fBrspecfR. . .P Since Rubygems plugins can contain arbitrary Ruby code, +they commonly end up activating themselves or their dependencies. . .P For +instance, the fBgemcutter 0.5fR gem depended on fBjson_pure\fR. If you had +that version of gemcutter installed (even if you fIalsofR had a newer +version without this problem), Rubygems would activate fBgemcutter 0.5fR +and fBjson_pure fR. . .P If your Gemfile(5) also contained +fBjson_pure\fR (or a gem with a dependency on fBjson_pure\fR), the latest +version on your system might conflict with the version in your Gemfile(5), +or the snapshot version in your fBGemfile.lockfR. . .P If this happens, +bundler will say: . .IP “” 4 . .nf +

+

+You have already activated json_pure 1.4.6 but your Gemfile requires +json_pure 1.4.3. Consider using bundle exec. . .fi . .IP “” 0 . +.P In this situation, you almost certainly want to remove the underlying +gem with the problematic gem plugin. In general, the authors of these +plugins (in this case, the fBgemcutterfR gem) have released newer versions +that are more careful in their plugins. . .P You can find a list of all the +gems containing gem plugins by running . .IP “” 4 . .nf +

+

+ruby -rubygems -e “puts Gem.find_files('rubygems_plugin\.rb')” +. .fi . .IP “” 0 . .P At the very least, you should remove all +but the newest version of each gem plugin, and also remove all gem plugins +that you aren't using (fBgem uninstall gem_name\fR). +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec_txt.html new file mode 100644 index 00000000..9181da83 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-exec_txt.html @@ -0,0 +1,369 @@ + + + + + + + + File: bundle-exec.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+BUNDLE-EXEC(1) +BUNDLE-EXEC(1) +

+

+NAME +

+
+       bundle-exec - Execute a command in the context of the bundle
+
+

+SYNOPSIS +

+
+       bundle exec command
+
+

+DESCRIPTION +

+
+       This  command  executes  the  command, making all gems specified in the
+       Gemfile(5) available to require in Ruby programs.
+
+       Essentially, if you  would  normally  have  run  something  like  rspec
+       spec/my_spec.rb,  and  you  want  to use the gems specified in the Gem-
+       file(5) and installed via bundle install(1) bundle-install.1.html,  you
+       should run bundle exec rspec spec/my_spec.rb.
+
+       Note  that bundle exec does not require that an executable is available
+       on your shell's $PATH.
+
+

+BUNDLE INSTALL —BINSTUBS +

+
+       If  you  use  the   --binstubs   flag   in   bundle   install(1)   bun-
+       dle-install.1.html,  Bundler  will  automatically  create  a  directory
+       (which defaults to app_root/bin)  containing  all  of  the  executables
+       available from gems in the bundle.
+
+       After  using --binstubs, bin/rspec spec/my_spec.rb is identical to bun-
+       dle exec rspec spec/my_spec.rb.
+
+

+ENVIRONMENT MODIFICATIONS +

+
+       bundle exec makes a number of changes to the  shell  environment,  then
+       executes the command you specify in full.
+
+       o   make  sure  that  it's  still  possible to shell out to bundle from
+           inside a command invoked by bundle exec (using $BUNDLE_BIN_PATH)
+
+       o   put  the  directory  containing  executables  (like  rails,  rspec,
+           rackup) for your bundle on $PATH
+
+       o   make  sure  that if bundler is invoked in the subshell, it uses the
+           same Gemfile (by setting BUNDLE_GEMFILE)
+
+       o   add -rbundler/setup to $RUBYOPT, which makes sure  that  Ruby  pro-
+           grams invoked in the subshell can see the gems in the bundle
+
+       It also modifies Rubygems:
+
+       o   disallow loading additional gems not in the bundle
+
+       o   modify  the gem method to be a no-op if a gem matching the require-
+           ments is in the bundle, and to raise a Gem::LoadError if it's not
+
+       o   Define Gem.refresh to be a no-op, since the source index is  always
+           frozen  when  using  bundler,  and  to prevent gems from the system
+           leaking into the environment
+
+       o   Override Gem.bin_path to use the gems in the bundle, making  system
+           executables work
+
+       o   Add all gems in the bundle into Gem.loaded_specs
+
+

+RUBYGEMS PLUGINS +

+
+       At  present,  the  Rubygems  plugin  system  requires  all  files named
+       rubygems_plugin.rb on the load path of any installed gem when any  Ruby
+       code requires rubygems.rb. This includes executables installed into the
+       system, like rails, rackup, and rspec.
+
+       Since Rubygems plugins can contain arbitrary Ruby code,  they  commonly
+       end up activating themselves or their dependencies.
+
+       For  instance,  the gemcutter 0.5 gem depended on json_pure. If you had
+       that version of gemcutter installed (even if you also had a newer  ver-
+       sion  without  this problem), Rubygems would activate gemcutter 0.5 and
+       json_pure <latest>.
+
+       If your Gemfile(5) also contained json_pure (or a gem with a dependency
+       on  json_pure),  the  latest version on your system might conflict with
+       the version in your Gemfile(5), or the snapshot version  in  your  Gem-
+       file.lock.
+
+       If this happens, bundler will say:
+
+           You have already activated json_pure 1.4.6 but your Gemfile
+           requires json_pure 1.4.3. Consider using bundle exec.
+
+       In  this  situation, you almost certainly want to remove the underlying
+       gem with the problematic gem plugin. In general, the authors  of  these
+       plugins  (in this case, the gemcutter gem) have released newer versions
+       that are more careful in their plugins.
+
+       You can find a list of all the gems containing gem plugins by running
+
+           ruby -rubygems -e "puts Gem.find_files('rubygems_plugin.rb')"
+
+       At the very least, you should remove all but the newest version of each
+       gem  plugin, and also remove all gem plugins that you aren't using (gem
+       uninstall gem_name).
+
+                                  August 2010                   BUNDLE-EXEC(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install.html new file mode 100644 index 00000000..18b6dce3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install.html @@ -0,0 +1,472 @@ + + + + + + + + File: bundle-install [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE-INSTALL” “1” “August +2010” “” “” . .SH “NAME” +fBbundle-installfR - Install the dependencies specified in your Gemfile . +.SH “SYNOPSIS” fBbundle installfR [-\-local] [-\-quiet] +[-\-gemfile=GEMFILE] [-\-system] . .IP “” 4 . .nf +

+
+             [\-\-deployment] [\-\-frozen] [\-\-path]
+             [\-\-binstubs[=DIRECTORY]] [\-\-without=GROUP1[ GROUP2\.\.\.]]
+
+

+. .fi . .IP “” 0 . .SH “DESCRIPTION” Install the +gems specified in your Gemfile(5). If this is the first time you run bundle +install (and a fBGemfile.lockfR does not exist), bundler will fetch all +remote sources, resolve dependencies and install all needed gems. . .P If a +fBGemfile.lockfR does exist, and you have not updated your Gemfile(5), +bundler will fetch all remote sources, but use the dependencies specified +in the fBGemfile.lockfR instead of resolving dependencies. . .P If a +fBGemfile.lockfR does exist, and you have updated your Gemfile(5), bundler +will use the dependencies in the fBGemfile.lockfR for all gems that you did +not update, but will re-resolve the dependencies of gems that you did +update. You can find more information about this update process below under +fICONSERVATIVE UPDATINGfR. . .SH “OPTIONS” . .TP +fB-\-gemfile=fR The location of the Gemfile(5) that bundler should +use. This defaults to a gemfile in the current working directory. In +general, bundler will assume that the location of the Gemfile(5) is also +the project root, and will look for the fBGemfile.lockfR and +fBvendor/cache\fR relative to it. . .TP fB-\-path=fR The location to +install the gems in the bundle to. This defaults to the gem home, which is +the location that fBgem installfR installs gems to. This means that, by +default, gems installed without a fB-\-pathfR setting will show up in fBgem +listfR. This setting is a fIremembered optionfR. . .TP fB-\-systemfR +Installs the gems in the bundle to the system location. This overrides any +previous fIrememberedfR use of fB-\-pathfR. . .TP fB-\-without=fR A +space-separated list of groups to skip installing. This is a fIremembered +optionfR. . .TP fB-\-localfR Do not attempt to connect to fBrubygems.orgfR, +instead using just the gems located in fBvendor/cache\fR. Note that if a +more appropriate platform-specific gem exists on fBrubygems.orgfR, this +will bypass the normal lookup. . .TP fB-\-deploymentfR Switches bundler's +defaults into fIdeployment modefR. . .TP fB-\-binstubs[=]fR +Create a directory (defaults to fBbinfR) containing an executable that runs +in the context of the bundle. For instance, if the fBrailsfR gem comes with +a fBrailsfR 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-\-deploymentfR flag. . .IP “1.” 4 A fBGemfile.lockfR is +required. . .IP To ensure that the same versions of the gems you developed +with and tested with are also used in deployments, a fBGemfile.lockfR is +required. . .IP This is mainly to ensure that you remember to check your +fBGemfile.lockfR into version control. . .IP “2.” 4 The +fBGemfile.lockfR must be up to date . .IP In development, you can modify +your Gemfile(5) and re-run fBbundle installfR to fIconservatively updatefR +your fBGemfile.lockfR snapshot. . .IP In deployment, your fBGemfile.lockfR +should be up-to-date with changes made in your Gemfile(5). . .IP +“3.” 4 Gems are installed to fBvendor/bundle\fR not your +default system location . .IP In development, it's convenient to share the +gems used in your application with other applications and other scripts run +on the system. . .IP 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 permission to +read them. . .IP As a result, fBbundle install -\-deploymentfR installs +gems to the fBvendor/bundle\fR directory in the application. This may be +overridden using the fB-\-pathfR option. . .IP “” 0 . .SH +“SUDO USAGE” By default, bundler installs gems to the same +location as fBgem installfR. . .P 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 fBsudofR password in order to +copy the gems into their system location. . .P From your perspective, this +is identical to installing them gems directly into the system. . .P You +should never use fBsudo bundle installfR. This is because several other +steps in fBbundle installfR must be performed as the current user: . .IP +“(bu” 4 Updating your fBGemfile.lockfR . .IP “(bu” +4 Updating your fBvendor/cache\fR, if necessary . .IP “(bu” 4 +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 fBchownfRing the resulting files to fB$SUDO_USER\fR. The +third, however, can only be performed by actually invoking the fBgitfR +command as the current user. . .P As a result, you should run fBbundle +installfR as the current user, and bundler will ask for your password if it +is needed to perform the final step. . .SH “INSTALLING GROUPS” +By default, fBbundle installfR will install all gems in all groups in your +Gemfile(5), except those declared for a different platform. . .P However, +you can explicitly tell bundler to skip installing certain groups with the +fB-\-withoutfR option. This option takes a space-separated list of groups. +. .P While the fB-\-withoutfR option will skip fIinstallingfR the gems in +the specified groups, it will still fIdownloadfR those gems and use them to +resolve the dependencies of every gem in your Gemfile(5). . .P This is so +that installing a different set of groups on another machine (such as a +production server) will not change the gems and versions that you have +already developed and tested against. . .P fBBundler offers a rock-solid +guarantee that the third-party code you are running in development and +testing is also the third-party code you are running in production. You can +choose to exclude some of that code in different environments, but you will +never be caught flat-footed by different versions of third-party code being +used in different environments.\fR . .P For a simple illustration, consider +the following Gemfile(5): . .IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “sinatra“ +

+

+group :production do +

+
+  gem "rack\-perftools\-profiler"
+
+

+end . .fi . .IP “” 0 . .P In this case, fBsinatrafR depends on +any version of Rack (fB>= 1.0fR, while fBrack-perftools-profilerfR depends +on 1.x (fB~> 1.0fR). . .P When you run fBbundle install -\-without +productionfR in development, we look at the dependencies of +fBrack-perftools-profilerfR as well. That way, you do not spend all your +time developing against Rack 2.0, using new APIs unavailable in Rack 1.x, +only to have bundler switch to Rack 1.2 when the fBproductionfR group +fIisfR used. . .P This should not cause any problems in practice, because +we do not attempt to fBinstallfR the gems in the excluded groups, and only +evaluate as part of the dependency resolution process. . .P This also means +that you cannot include different versions of the same gem in different +groups, because doing so would result in different sets of dependencies +used in development and production. Because of the vagaries of the +dependency resolution process, this usually affects more than just the gems +you list in your Gemfile(5), and can (surprisingly) radically change the +gems you are using. . .SH “REMEMBERED OPTIONS” Some options +(marked above in the fIOPTIONSfR section) are remembered between calls to +fBbundle installfR, and by the Bundler +runtime. . .P For instance, if you run fBbundle install -\-without testfR, +a subsequent call to fBbundle installfR that does not include a +fB-\-withoutfR flag will remember your previous choice. . .P In addition, a +call to fBBundler.setupfR will not attempt to make the gems in those groups +available on the Ruby load path, as they were not installed. . .P The +settings that are remembered are: . .TP fB-\-deploymentfR At runtime, this +remembered setting will also result in Bundler raising an exception if the +fBGemfile.lockfR is out of date. . .TP fB-\-pathfR Subsequent calls to +fBbundle installfR will install gems to the directory originally passed to +fB-\-pathfR. The Bundler runtime will +look for gems in that location. You can revert this option by running +fBbundle install -\-systemfR. . .TP fB-\-binstubsfR Bundler will update the executables every +subsequent call to fBbundle installfR. . .TP fB-\-withoutfR As described +above, Bundler will skip the gems +specified by fB-\-withoutfR in subsequent calls to fBbundle installfR. The +Bundler runtime will also not try to +make the gems in the skipped groups available. . .SH “THE +GEMFILE.LOCK” When you run fBbundle installfR, Bundler will persist the full names and +versions of all gems that you used (including dependencies of the gems +specified in the Gemfile(5)) into a file called fBGemfile.lockfR. . .P Bundler uses this file in all subsequent +calls to fBbundle installfR, which guarantees that you always use the same +exact code, even as your application moves across machines. . .P Because of +the way dependency resolution works, even a seemingly small change (for +instance, an update to a point-release of a dependency of a gem in your +Gemfile(5)) can result in radically different gems being needed to satisfy +all dependencies. . .P As a result, you fBSHOULDfR check your +fBGemfile.lockfR into version control. If you do not, every machine that +checks out your repository (including your production server) will resolve +all dependencies again, which will result in different versions of +third-party code being used if fBanyfR of the gems in the Gemfile(5) or any +of their dependencies have been updated. . .SH “CONSERVATIVE +UPDATING” When you make a change to the Gemfile(5) and then run +fBbundle installfR, Bundler will update +only the gems that you modified. . .P In other words, if a gem that you +fBdid not modifyfR worked before you called fBbundle installfR, it will +continue to use the exact same versions of all dependencies as it used +before the update. . .P Let's take a look at an example. Here's your +original Gemfile(5): . .IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “actionpack”, “2.3.8” gem +“activemerchant” . .fi . .IP “” 0 . .P In this +case, both fBactionpackfR and fBactivemerchantfR depend on +fBactivesupportfR. The fBactionpackfR gem depends on fBactivesupport +2.3.8fR and fBrack ~> 1.1.0fR, while the fBactivemerchantfR gem depends on +fBactivesupport >= 2.3.2fR, fBbraintree >= 2.0.0fR, and fBbuilder >= +2.0.0fR. . .P When the dependencies are first resolved, Bundler will select fBactivesupport +2.3.8fR, which satisfies the requirements of both gems in your Gemfile(5). +. .P Next, you modify your Gemfile(5) to: . .IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “actionpack”, “3.0.0.rc” gem +“activemerchant” . .fi . .IP “” 0 . .P The +fBactionpack 3.0.0.rcfR gem has a number of new dependencies, and updates +the fBactivesupportfR dependency to fB= 3.0.0.rcfR and the fBrackfR +dependency to fB~> 1.2.1fR. . .P When you run fBbundle installfR, Bundler notices that you changed the +fBactionpackfR gem, but not the fBactivemerchantfR gem. It evaluates the +gems currently being used to satisfy its requirements: . .TP +fBactivesupport 2.3.8fR also used to satisfy a dependency in +fBactivemerchantfR, which is not being updated . .TP fBrack ~> 1.1.0fR not +currently being used to satify another dependency . .P Because you did not +explicitly ask to update fBactivemerchantfR, you would not expect it to +suddenly stop working after updating fBactionpackfR. However, satisfying +the new fBactivesupport 3.0.0.rcfR dependency of actionpack requires +updating one of its dependencies. . .P Even though fBactivemerchantfR +declares a very loose dependency that theoretically matches fBactivesupport +3.0.0.rcfR, bundler treats gems in your Gemfile(5) that have not changed as +an atomic unit together with their dependencies. In this case, the +fBactivemerchantfR dependency is treated as fBactivemerchant 1.7.1 + +activesupport 2.3.8fR, so fBbundle installfR will report that it cannot +update fBactionpackfR. . .P To explicitly update fBactionpackfR, including +its dependencies which other gems in the Gemfile(5) still depend on, run +fBbundle update actionpackfR (see fBbundle update(1)fR). . .P fBSummaryfR: +In general, after making a change to the Gemfile(5) , you should first try +to run fBbundle installfR, which will guarantee that no other gems in the +Gemfile(5) are impacted by the change. If that does not work, run bundle +update(1) fIbundle-update.1.htmlfR. +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install_txt.html new file mode 100644 index 00000000..8828bc47 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-install_txt.html @@ -0,0 +1,589 @@ + + + + + + + + File: bundle-install.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+BUNDLE-INSTALL(1) +BUNDLE-INSTALL(1) +

+

+NAME +

+
+       bundle-install - Install the dependencies specified in your Gemfile
+
+

+SYNOPSIS +

+
+       bundle install [--local] [--quiet] [--gemfile=GEMFILE] [--system]
+
+                        [--deployment] [--frozen] [--path]
+                        [--binstubs[=DIRECTORY]] [--without=GROUP1[ GROUP2...]]
+
+

+DESCRIPTION +

+
+       Install  the  gems  specified  in your Gemfile(5). If this is the first
+       time you run bundle  install  (and  a  Gemfile.lock  does  not  exist),
+       bundler will fetch all remote sources, resolve dependencies and install
+       all needed gems.
+
+       If a Gemfile.lock does exist, and you have not updated your Gemfile(5),
+       bundler  will fetch all remote sources, but use the dependencies speci-
+       fied in the Gemfile.lock instead of resolving dependencies.
+
+       If a Gemfile.lock does exist, and you  have  updated  your  Gemfile(5),
+       bundler will use the dependencies in the Gemfile.lock for all gems that
+       you did not update, but will re-resolve the dependencies of  gems  that
+       you did update. You can find more information about this update process
+       below under CONSERVATIVE UPDATING.
+
+

+OPTIONS +

+
+       --gemfile=<gemfile>
+              The location of the Gemfile(5) that  bundler  should  use.  This
+              defaults  to a gemfile in the current working directory. In gen-
+              eral, bundler will assume that the location of the Gemfile(5) is
+              also  the  project  root, and will look for the Gemfile.lock and
+              vendor/cache relative to it.
+
+       --path=<path>
+              The location to install the gems in the bundle to. This defaults
+              to the gem home, which is the location that gem install installs
+              gems to. This means that, by default, gems installed  without  a
+              --path  setting  will  show  up  in  gem list. This setting is a
+              remembered option.
+
+       --system
+              Installs the gems in the bundle to  the  system  location.  This
+              overrides any previous remembered use of --path.
+
+       --without=<list>
+              A  space-separated  list of groups to skip installing. This is a
+              remembered option.
+
+       --local
+              Do not attempt to connect to rubygems.org,  instead  using  just
+              the  gems located in vendor/cache. Note that if a more appropri-
+              ate platform-specific gem  exists  on  rubygems.org,  this  will
+              bypass the normal lookup.
+
+       --deployment
+              Switches bundler's defaults into deployment mode.
+
+       --binstubs[=<directory>]
+              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
+              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.
+
+       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
+           required.
+
+           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
+           install to conservatively update your Gemfile.lock snapshot.
+
+           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-
+           tion
+
+           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-
+           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
+           using the --path option.
+
+

+SUDO USAGE +

+
+       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
+       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
+       system location.
+
+       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
+       steps in bundle install must be performed as the current user:
+
+       o   Updating your Gemfile.lock
+
+       o   Updating your vendor/cache, if necessary
+
+       o   Checking out private git repositories using your user's SSH keys
+
+       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.
+
+       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.
+
+

+INSTALLING GROUPS +

+
+       By default, bundle install will install all gems in all groups in  your
+       Gemfile(5), except those declared for a different platform.
+
+       However,  you  can  explicitly  tell bundler to skip installing certain
+       groups with the --without option. This option takes  a  space-separated
+       list of groups.
+
+       While  the --without option will skip installing the gems in the speci-
+       fied groups, it will still download those gems and use them to  resolve
+       the dependencies of every gem in your Gemfile(5).
+
+       This is so that installing a different set of groups on another machine
+       (such as a production server) will not change  the  gems  and  versions
+       that you have already developed and tested against.
+
+       Bundler offers a rock-solid guarantee that the third-party code you are
+       running in development and testing is also the third-party code you are
+       running  in  production. You can choose to exclude some of that code in
+       different environments, but you will never  be  caught  flat-footed  by
+       different versions of third-party code being used in different environ-
+       ments.
+
+       For a simple illustration, consider the following Gemfile(5):
+
+           source "http://rubygems.org"
+
+           gem "sinatra"
+
+           group :production do
+             gem "rack-perftools-profiler"
+           end
+
+       In this case, sinatra depends on any version of  Rack  (>=  1.0,  while
+       rack-perftools-profiler depends on 1.x (~> 1.0).
+
+       When  you  run  bundle  install --without production in development, we
+       look at the dependencies of rack-perftools-profiler as well. That  way,
+       you  do  not spend all your time developing against Rack 2.0, using new
+       APIs unavailable in Rack 1.x, only to have bundler switch to  Rack  1.2
+       when the production group is used.
+
+       This  should  not  cause  any  problems  in practice, because we do not
+       attempt to install the gems in the excluded groups, and  only  evaluate
+       as part of the dependency resolution process.
+
+       This  also means that you cannot include different versions of the same
+       gem in different groups, because doing so  would  result  in  different
+       sets of dependencies used in development and production. Because of the
+       vagaries of the dependency resolution  process,  this  usually  affects
+       more  than just the gems you list in your Gemfile(5), and can (surpris-
+       ingly) radically change the gems you are using.
+
+

+REMEMBERED OPTIONS +

+
+       Some options (marked above  in  the  OPTIONS  section)  are  remembered
+       between calls to bundle install, and by the Bundler runtime.
+
+       For  instance,  if  you run bundle install --without test, a subsequent
+       call to bundle install that does not  include  a  --without  flag  will
+       remember your previous choice.
+
+       In  addition, a call to Bundler.setup will not attempt to make the gems
+       in those groups available on the Ruby  load  path,  as  they  were  not
+       installed.
+
+       The settings that are remembered are:
+
+       --deployment
+              At  runtime, this remembered setting will also result in Bundler
+              raising an exception if the Gemfile.lock is out of date.
+
+       --path Subsequent calls to bundle install  will  install  gems  to  the
+              directory  originally passed to --path. The Bundler runtime will
+              look for gems in that location. You can revert  this  option  by
+              running bundle install --system.
+
+       --binstubs
+              Bundler  will  update  the  executables every subsequent call to
+              bundle install.
+
+       --without
+              As described above, Bundler will  skip  the  gems  specified  by
+              --without  in  subsequent  calls  to bundle install. The Bundler
+              runtime will also not try to make the gems in the skipped groups
+              available.
+
+

+THE GEMFILE.LOCK +

+
+       When  you  run  bundle install, Bundler will persist the full names and
+       versions of all gems that you used (including dependencies of the  gems
+       specified in the Gemfile(5)) into a file called Gemfile.lock.
+
+       Bundler uses this file in all subsequent calls to bundle install, which
+       guarantees that you always use the same exact code, even as your appli-
+       cation moves across machines.
+
+       Because  of the way dependency resolution works, even a seemingly small
+       change (for instance, an update to a point-release of a dependency of a
+       gem  in  your  Gemfile(5)) can result in radically different gems being
+       needed to satisfy all dependencies.
+
+       As a result, you SHOULD check your Gemfile.lock into  version  control.
+       If you do not, every machine that checks out your repository (including
+       your production server) will resolve all dependencies again, which will
+       result  in  different versions of third-party code being used if any of
+       the gems in the Gemfile(5) or  any  of  their  dependencies  have  been
+       updated.
+
+

+CONSERVATIVE UPDATING +

+
+       When  you  make a change to the Gemfile(5) and then run bundle install,
+       Bundler will update only the gems that you modified.
+
+       In other words, if a gem that you did  not  modify  worked  before  you
+       called  bundle install, it will continue to use the exact same versions
+       of all dependencies as it used before the update.
+
+       Let's take a look at an example. Here's your original Gemfile(5):
+
+           source "http://rubygems.org"
+
+           gem "actionpack", "2.3.8"
+           gem "activemerchant"
+
+       In this case, both actionpack and activemerchant depend  on  activesup-
+       port.  The  actionpack  gem  depends on activesupport 2.3.8 and rack ~>
+       1.1.0, while the activemerchant gem depends on activesupport >=  2.3.2,
+       braintree >= 2.0.0, and builder >= 2.0.0.
+
+       When   the   dependencies  are  first  resolved,  Bundler  will  select
+       activesupport 2.3.8, which satisfies the requirements of both  gems  in
+       your Gemfile(5).
+
+       Next, you modify your Gemfile(5) to:
+
+           source "http://rubygems.org"
+
+           gem "actionpack", "3.0.0.rc"
+           gem "activemerchant"
+
+       The  actionpack  3.0.0.rc  gem  has  a  number of new dependencies, and
+       updates the activesupport dependency to = 3.0.0.rc and the rack  depen-
+       dency to ~> 1.2.1.
+
+       When  you  run  bundle  install,  Bundler  notices that you changed the
+       actionpack gem, but not the activemerchant gem. It evaluates  the  gems
+       currently being used to satisfy its requirements:
+
+       activesupport 2.3.8
+              also  used  to  satisfy a dependency in activemerchant, which is
+              not being updated
+
+       rack ~> 1.1.0
+              not currently being used to satify another dependency
+
+       Because you did not explicitly ask to update activemerchant, you  would
+       not  expect it to suddenly stop working after updating actionpack. How-
+       ever, satisfying the new activesupport 3.0.0.rc dependency  of  action-
+       pack requires updating one of its dependencies.
+
+       Even  though activemerchant declares a very loose dependency that theo-
+       retically matches activesupport 3.0.0.rc, bundler treats gems  in  your
+       Gemfile(5)  that have not changed as an atomic unit together with their
+       dependencies. In this case, the activemerchant dependency is treated as
+       activemerchant  1.7.1  +  activesupport  2.3.8,  so bundle install will
+       report that it cannot update actionpack.
+
+       To explicitly update actionpack, including its dependencies which other
+       gems  in  the  Gemfile(5) still depend on, run bundle update actionpack
+       (see bundle update(1)).
+
+       Summary: In general, after making a change  to  the  Gemfile(5)  ,  you
+       should  first  try  to run bundle install, which will guarantee that no
+       other gems in the Gemfile(5) are impacted by the change. If  that  does
+       not work, run bundle update(1) bundle-update.1.html.
+
+                                  August 2010                BUNDLE-INSTALL(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package.html new file mode 100644 index 00000000..dc5ede56 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package.html @@ -0,0 +1,297 @@ + + + + + + + + File: bundle-package [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE-PACKAGE” “1” “August +2010” “” “” . .SH “NAME” +fBbundle-packagefR - Package your needed fB.gemfR files into your +application . .SH “SYNOPSIS” fBbundle packagefR . .SH +“DESCRIPTION” Copy all of the fB.gemfR files needed to run the +application into the fBvendor/cache\fR directory. In the future, when +running bundle install(1) fIbundle-install.1.htmlfR, use the gems in the +cache in preference to the ones on fBrubygems.orgfR. . .SH “GIT AND +PATH GEMS” In Bundler 1.0, the +fBbundle packagefR command only packages fB.gemfR files, not gems specified +using the fB:gitfR or fB:pathfR options. This will likely change in the +future. . .SH “REMOTE FETCHING” By default, if you simply run +bundle install(1) fIbundle-install.1.htmlfR after running bundle package(1) +fIbundle-package.1.htmlfR, bundler will still connect to fBrubygems.orgfR +to check whether a platform-specific gem exists for any of the gems in +fBvendor/cache\fR. . .P For instance, consider this Gemfile(5): . .IP +“” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “nokogiri” . .fi . .IP “” 0 . .P If you run +fBbundle packagefR under C Ruby, bundler will retrieve the version of +fBnokogirifR for the fB“ruby“fR platform. If you deploy to +JRuby and run fBbundle installfR, bundler is forced to check to see whether +a fB“java“fR platformed fBnokogirifR exists. . .P Even though +the fBnokogirifR gem for the Ruby platform is fItechnicallyfR acceptable on +JRuby, it actually has a C extension that does not run on JRuby. As a +result, bundler will, by default, still connect to fBrubygems.orgfR to +check whether it has a version of one of your gems more specific to your +platform. . .P This problem is also not just limited to the +fB“java“fR platform. A similar (common) problem can happen when +developing on Windows and deploying to Linux, or even when developing on +OSX and deploying to Linux. . .P If you know for sure that the gems +packaged in fBvendor/cache\fR are appropriate for the platform you are on, +you can run fBbundle install -\-localfR to skip checking for more +appropriate gems, and just use the ones in fBvendor/cache\fR. . .P One way +to be sure that you have the right platformed versions of all your gems is +to run fBbundle packagefR on an identical machine and check in the gems. +For instance, you can run fBbundle packagefR on an identical staging box +during your staging process, and check in the fBvendor/cache\fR before +deploying to production. +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package_txt.html new file mode 100644 index 00000000..090326a4 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-package_txt.html @@ -0,0 +1,325 @@ + + + + + + + + File: bundle-package.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+BUNDLE-PACKAGE(1) +BUNDLE-PACKAGE(1) +

+

+NAME +

+
+       bundle-package - Package your needed .gem files into your application
+
+

+SYNOPSIS +

+
+       bundle package
+
+

+DESCRIPTION +

+
+       Copy  all of the .gem files needed to run the application into the ven-
+       dor/cache directory. In the future, when running bundle install(1) bun-
+       dle-install.1.html, use the gems in the cache in preference to the ones
+       on rubygems.org.
+
+

+GIT AND PATH GEMS +

+
+       In Bundler 1.0, the bundle package command only  packages  .gem  files,
+       not  gems  specified  using the :git or :path options. This will likely
+       change in the future.
+
+

+REMOTE FETCHING +

+
+       By default, if you simply run bundle  install(1)  bundle-install.1.html
+       after  running  bundle  package(1)  bundle-package.1.html, bundler will
+       still connect to rubygems.org to check whether a platform-specific  gem
+       exists for any of the gems in vendor/cache.
+
+       For instance, consider this Gemfile(5):
+
+           source "http://rubygems.org"
+
+           gem "nokogiri"
+
+       If  you run bundle package under C Ruby, bundler will retrieve the ver-
+       sion of nokogiri for the "ruby" platform. If you deploy  to  JRuby  and
+       run  bundle install, bundler is forced to check to see whether a "java"
+       platformed nokogiri exists.
+
+       Even though the nokogiri gem  for  the  Ruby  platform  is  technically
+       acceptable on JRuby, it actually has a C extension that does not run on
+       JRuby. As  a  result,  bundler  will,  by  default,  still  connect  to
+       rubygems.org to check whether it has a version of one of your gems more
+       specific to your platform.
+
+       This problem is also not just limited to the "java" platform. A similar
+       (common) problem can happen when developing on Windows and deploying to
+       Linux, or even when developing on OSX and deploying to Linux.
+
+       If you know for sure that the gems packaged in vendor/cache are  appro-
+       priate  for the platform you are on, you can run bundle install --local
+       to skip checking for more appropriate gems, and just use  the  ones  in
+       vendor/cache.
+
+       One  way  to be sure that you have the right platformed versions of all
+       your gems is to run bundle package on an identical machine and check in
+       the  gems.  For  instance,  you  can run bundle package on an identical
+       staging box during your staging process, and check in the  vendor/cache
+       before deploying to production.
+
+                                  August 2010                BUNDLE-PACKAGE(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update.html new file mode 100644 index 00000000..e0bccd20 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update.html @@ -0,0 +1,377 @@ + + + + + + + + File: bundle-update [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE-UPDATE” “1” “August 2010” +“” “” . .SH “NAME” fBbundle-updatefR - +Update your gems to the latest available versions . .SH +“SYNOPSIS” fBbundle updatefR fI*gemsfR [-\-source=NAME] . .SH +“DESCRIPTION” Update the gems specified (all gems, if none are +specified), ignoring the previously installed gems specified in the +fBGemfile.lockfR. In general, you should use bundle install(1) +fIbundle-install.1.htmlfR to install the same exact gems and versions +across machines. . .P You would use fBbundle updatefR to explicitly update +the version of a gem. . .SH “OPTIONS” . .TP +fB-\-source=fR The name of a fB:gitfR or fB:pathfR source used in the +Gemfile(5). For instance, with a fB:gitfR source of fBgithub\.com/rails/rails\.git\fR, +you would call fBbundle update -\-source railsfR . .SH “UPDATING ALL +GEMS” If you run fBbundle updatefR with no parameters, bundler will +ignore any previously installed gems and resolve all dependencies again +based on the latest versions of all gems available in the sources. . .P +Consider the following Gemfile(5): . .IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “rails”, “3.0.0.rc” gem “nokogiri” +. .fi . .IP “” 0 . .P When you run bundle install(1) +fIbundle-install.1.htmlfR the first time, bundler will resolve all of the +dependencies, all the way down, and install what you need: . .IP +“” 4 . .nf +

+

+Fetching source index for rubygems\.org/ +Installing rake (0.8.7) Installing abstract (1.0.0) Installing +activesupport (3.0.0.rc) Installing builder (2.1.2) Installing i18n (0.4.1) +Installing activemodel (3.0.0.rc) Installing erubis (2.6.6) Installing rack +(1.2.1) Installing rack-mount (0.6.9) Installing rack-test (0.5.4) +Installing tzinfo (0.3.22) Installing actionpack (3.0.0.rc) Installing +mime-types (1.16) Installing polyglot (0.3.1) Installing treetop (1.4.8) +Installing mail (2.2.5) Installing actionmailer (3.0.0.rc) Installing arel +(0.4.0) Installing activerecord (3.0.0.rc) Installing activeresource +(3.0.0.rc) Installing bundler (1.0.0.rc.3) Installing nokogiri (1.4.3.1) +with native extensions Installing thor (0.14.0) Installing railties +(3.0.0.rc) Installing rails (3.0.0.rc) +

+

+Your bundle is complete! Use `bundle show [gemname]` to see where a bundled +gem is installed. . .fi . .IP “” 0 . .P As you can see, even +though you have just two gems in the Gemfile(5), your application actually +needs 25 different gems in order to run. Bundler remembers the exact versions it +installed in fBGemfile.lockfR. The next time you run bundle install(1) +fIbundle-install.1.htmlfR, bundler skips the dependency resolution and +installs the same gems as it installed last time. . .P After checking in +the fBGemfile.lockfR into version control and cloning it on another +machine, running bundle install(1) fIbundle-install.1.htmlfR will fIstillfR +install the gems that you installed last time. You don't need to worry that +a new release of fBerubisfR or fBmailfR changes the gems you use. . .P +However, from time to time, you might want to update the gems you are using +to the newest versions that still match the gems in your Gemfile(5). . .P +To do this, run fBbundle updatefR, which will ignore the fBGemfile.lockfR, +and resolve all the dependencies again. Keep in mind that this process can +result in a significantly different set of the 25 gems, based on the +requirements of new gems that the gem authors released since the last time +you ran fBbundle updatefR. . .SH “UPDATING A LIST OF GEMS” +Sometimes, you want to update a single gem in the Gemfile(5), and leave the +rest of the gems that you specified locked to the versions in the +fBGemfile.lockfR. . .P For instance, in the scenario above, imagine that +fBnokogirifR releases version fB1.4.4fR, and you want to update it +fIwithoutfR updating Rails and all of its dependencies. To do this, run +fBbundle update nokogirifR. . .P Bundler will update fBnokogirifR and any +of its dependencies, but leave alone Rails and its dependencies. . .SH +“OVERLAPPING DEPENDENCIES” Sometimes, multiple gems declared in +your Gemfile(5) are satisfied by the same second-level dependency. For +instance, consider the case of fBthinfR and fBrack-perftools-profilerfR. . +.IP “” 4 . .nf +

+

+source “rubygems\.org“ +

+

+gem “thin” gem “rack-perftools-profiler” . .fi . +.IP “” 0 . .P The fBthinfR gem depends on fBrack >= 1.0fR, +while fBrack-perftools-profilerfR depends on fBrack ~> 1.0fR. If you run +bundle install, you get: . .IP “” 4 . .nf +

+

+Fetching source index for rubygems\.org/ +Installing daemons (1.1.0) Installing eventmachine (0.12.10) with native +extensions Installing open4 (1.0.1) Installing perftools.rb (0.4.7) with +native extensions Installing rack (1.2.1) Installing +rack-perftools_profiler (0.0.2) Installing thin (1.2.7) with native +extensions Using bundler (1.0.0.rc.3) . .fi . .IP “” 0 . .P In +this case, the two gems have their own set of dependencies, but they share +fBrackfR in common. If you run fBbundle update thinfR, bundler will update +fBdaemonsfR, fBeventmachinefR and fBrackfR, which are dependencies of +fBthinfR, but not fBopen4fR or fBperftools.rbfR, which are dependencies of +fBrack-perftools_profiler\fR. Note that fBbundle update thinfR will update +fBrackfR even though it's fIalsofR a dependency of +fBrack-perftools_profiler\fR. . .P fBIn shortfR, when you update a gem +using fBbundle updatefR, bundler will update all dependencies of that gem, +including those that are also dependencies of another gem. . .P In this +scenario, updating the fBthinfR version manually in the Gemfile(5), and +then running bundle install(1) fIbundle-install.1.htmlfR will only update +fBdaemonsfR and fBeventmachinefR, but not fBrackfR. For more information, +see the fBCONSERVATIVE UPDATINGfR section of bundle install(1) +fIbundle-install.1.htmlfR. . .SH “RECOMMENDED WORKFLOW” In +general, when working with an application managed with bundler, you should +use the following workflow: . .IP “(bu” 4 After you create your +Gemfile(5) for the first time, run . .IP $ bundle install . .IP +“(bu” 4 Check the resulting fBGemfile.lockfR into version +control . .IP $ git add Gemfile.lock . .IP “(bu” 4 When +checking out this repository on another development machine, run . .IP $ +bundle install . .IP “(bu” 4 When checking out this repository +on a deployment machine, run . .IP $ bundle install -\-deployment . .IP +“(bu” 4 After changing the Gemfile(5) to reflect a new or +update dependency, run . .IP $ bundle install . .IP “(bu” 4 +Make sure to check the updated fBGemfile.lockfR into version control . .IP +$ git add Gemfile.lock . .IP “(bu” 4 If bundle install(1) +fIbundle-install.1.htmlfR reports a conflict, manually update the specific +gems that you changed in the Gemfile(5) . .IP $ bundle update rails thin . +.IP “(bu” 4 If you want to update all the gems to the latest +possible versions that still match the gems listed in the Gemfile(5), run . +.IP $ bundle update . .IP “” 0 +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update_txt.html new file mode 100644 index 00000000..ed7a5df3 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle-update_txt.html @@ -0,0 +1,460 @@ + + + + + + + + File: bundle-update.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+BUNDLE-UPDATE(1) +BUNDLE-UPDATE(1) +

+

+NAME +

+
+       bundle-update - Update your gems to the latest available versions
+
+

+SYNOPSIS +

+
+       bundle update *gems [--source=NAME]
+
+

+DESCRIPTION +

+
+       Update  the  gems specified (all gems, if none are specified), ignoring
+       the previously installed gems specified in the  Gemfile.lock.  In  gen-
+       eral, you should use bundle install(1) bundle-install.1.html to install
+       the same exact gems and versions across machines.
+
+       You would use bundle update to explicitly update the version of a  gem.
+
+

+OPTIONS +

+
+       --source=<name>
+              The  name  of a :git or :path source used in the Gemfile(5). For
+              instance,       with       a        :git        source        of
+              http://github.com/rails/rails.git,  you would call bundle update
+              --source rails
+
+

+UPDATING ALL GEMS +

+
+       If you run bundle update with no parameters, bundler  will  ignore  any
+       previously  installed  gems and resolve all dependencies again based on
+       the latest versions of all gems available in the sources.
+
+       Consider the following Gemfile(5):
+
+           source "http://rubygems.org"
+
+           gem "rails", "3.0.0.rc"
+           gem "nokogiri"
+
+       When you run bundle install(1) bundle-install.1.html  the  first  time,
+       bundler  will  resolve  all  of the dependencies, all the way down, and
+       install what you need:
+
+           Fetching source index for http://rubygems.org/
+           Installing rake (0.8.7)
+           Installing abstract (1.0.0)
+           Installing activesupport (3.0.0.rc)
+           Installing builder (2.1.2)
+           Installing i18n (0.4.1)
+           Installing activemodel (3.0.0.rc)
+           Installing erubis (2.6.6)
+           Installing rack (1.2.1)
+           Installing rack-mount (0.6.9)
+           Installing rack-test (0.5.4)
+           Installing tzinfo (0.3.22)
+           Installing actionpack (3.0.0.rc)
+           Installing mime-types (1.16)
+           Installing polyglot (0.3.1)
+           Installing treetop (1.4.8)
+           Installing mail (2.2.5)
+           Installing actionmailer (3.0.0.rc)
+           Installing arel (0.4.0)
+           Installing activerecord (3.0.0.rc)
+           Installing activeresource (3.0.0.rc)
+           Installing bundler (1.0.0.rc.3)
+           Installing nokogiri (1.4.3.1) with native extensions
+           Installing thor (0.14.0)
+           Installing railties (3.0.0.rc)
+           Installing rails (3.0.0.rc)
+
+           Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
+
+       As you can see, even though you have just two gems in  the  Gemfile(5),
+       your  application  actually  needs  25  different gems in order to run.
+       Bundler remembers the exact versions it installed in Gemfile.lock.  The
+       next  time  you  run  bundle  install(1) bundle-install.1.html, bundler
+       skips the dependency resolution  and  installs  the  same  gems  as  it
+       installed last time.
+
+       After  checking in the Gemfile.lock into version control and cloning it
+       on another machine,  running  bundle  install(1)  bundle-install.1.html
+       will  still  install  the  gems that you installed last time. You don't
+       need to worry that a new release of erubis or mail changes the gems you
+       use.
+
+       However,  from  time to time, you might want to update the gems you are
+       using to the newest versions that still match the  gems  in  your  Gem-
+       file(5).
+
+       To  do this, run bundle update, which will ignore the Gemfile.lock, and
+       resolve all the dependencies again. Keep in mind that this process  can
+       result  in  a  significantly different set of the 25 gems, based on the
+       requirements of new gems that the gem authors released since  the  last
+       time you ran bundle update.
+
+

+UPDATING A LIST OF GEMS +

+
+       Sometimes, you want to update a single gem in the Gemfile(5), and leave
+       the rest of the gems that you specified locked to the versions  in  the
+       Gemfile.lock.
+
+       For  instance,  in  the  scenario above, imagine that nokogiri releases
+       version 1.4.4, and you want to update it without updating Rails and all
+       of its dependencies. To do this, run bundle update nokogiri.
+
+       Bundler  will  update  nokogiri  and any of its dependencies, but leave
+       alone Rails and its dependencies.
+
+

+OVERLAPPING DEPENDENCIES +

+
+       Sometimes, multiple gems declared in your Gemfile(5) are  satisfied  by
+       the  same  second-level  dependency. For instance, consider the case of
+       thin and rack-perftools-profiler.
+
+           source "http://rubygems.org"
+
+           gem "thin"
+           gem "rack-perftools-profiler"
+
+       The thin gem depends on  rack  >=  1.0,  while  rack-perftools-profiler
+       depends on rack ~> 1.0. If you run bundle install, you get:
+
+           Fetching source index for http://rubygems.org/
+           Installing daemons (1.1.0)
+           Installing eventmachine (0.12.10) with native extensions
+           Installing open4 (1.0.1)
+           Installing perftools.rb (0.4.7) with native extensions
+           Installing rack (1.2.1)
+           Installing rack-perftools_profiler (0.0.2)
+           Installing thin (1.2.7) with native extensions
+           Using bundler (1.0.0.rc.3)
+
+       In this case, the two gems have their own set of dependencies, but they
+       share rack in common. If you  run  bundle  update  thin,  bundler  will
+       update  daemons, eventmachine and rack, which are dependencies of thin,
+       but  not   open4   or   perftools.rb,   which   are   dependencies   of
+       rack-perftools_profiler.  Note that bundle update thin will update rack
+       even though it's also a dependency of rack-perftools_profiler.
+
+       In short, when you update a  gem  using  bundle  update,  bundler  will
+       update  all  dependencies  of  that  gem, including those that are also
+       dependencies of another gem.
+
+       In this scenario, updating the thin version manually in the Gemfile(5),
+       and  then  running  bundle  install(1)  bundle-install.1.html will only
+       update daemons and eventmachine, but not rack.  For  more  information,
+       see  the  CONSERVATIVE  UPDATING  section  of  bundle  install(1)  bun-
+       dle-install.1.html.
+
+

+RECOMMENDED WORKFLOW +

+
+       In general, when working with an application managed with bundler,  you
+       should use the following workflow:
+
+       o   After you create your Gemfile(5) for the first time, run
+
+           $ bundle install
+
+       o   Check the resulting Gemfile.lock into version control
+
+           $ git add Gemfile.lock
+
+       o   When  checking  out this repository on another development machine,
+           run
+
+           $ bundle install
+
+       o   When checking out this repository on a deployment machine, run
+
+           $ bundle install --deployment
+
+       o   After changing the Gemfile(5) to reflect a  new  or  update  depen-
+           dency, run
+
+           $ bundle install
+
+       o   Make sure to check the updated Gemfile.lock into version control
+
+           $ git add Gemfile.lock
+
+       o   If bundle install(1) bundle-install.1.html reports a conflict, man-
+           ually update the specific gems that you changed in the Gemfile(5)
+
+           $ bundle update rails thin
+
+       o   If you want to update all the gems to the latest possible  versions
+           that still match the gems listed in the Gemfile(5), run
+
+           $ bundle update
+
+                                  August 2010                 BUNDLE-UPDATE(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle.html new file mode 100644 index 00000000..ea5ebf21 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle.html @@ -0,0 +1,287 @@ + + + + + + + + File: bundle [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+." generated with Ronn/v0.7.3 ." github.com/rtomayko/ronn/tree/0.7.3 +. .TH “BUNDLE” “1” “August 2010” +“” “” . .SH “NAME” fBbundlefR - Ruby +Dependency Management . .SH “SYNOPSIS” fBbundlefR [-\-no-color] +COMMAND [ARGS] . .SH “DESCRIPTION” Bundler manages an fBapplication's +dependenciesfR through its entire life across many machines systematically +and repeatably. . .P See the bundler website fIgembundler\.com\fR for information on +getting started, and Gemfile(5) for more information on the fBGemfilefR +format. . .SH “OPTIONS” . .TP fB-\-no-colorfR Prints all output +without color . .SH “BUNDLE COMMANDS” We divide fBbundlefR +subcommands into primary commands and utilities. . .SH “PRIMARY +COMMANDS” . .TP bundle install(1) fIbundle-install.1.htmlfR Install +the gems specified by the fBGemfilefR or fBGemfile.lockfR . .TP bundle +update(1) fIbundle-update.1.htmlfR Update dependencies to their latest +versions . .TP bundle package(1) fIbundle-package.1.htmlfR Package the .gem +files required by your application into the fBvendor/cache\fR directory . +.TP bundle exec(1) fIbundle-exec.1.htmlfR Execute a script in the context +of the current bundle . .TP bundle config(1) fIbundle-config.1.htmlfR +Specify and read configuration options for bundler . .SH +“UTILITIES” . .TP fBbundle check(1)fR Determine whether the +requirements for your application are installed and available to bundler . +.TP fBbundle list(1)fR Show all of the gems in the current bundle . .TP +fBbundle show(1)fR Show the source location of a particular gem in the +bundle . .TP fBbundle console(1)fR Start an IRB session in the context of +the current bundle . .TP fBbundle open(1)fR Open an installed gem in the +editor . .TP fBbundle viz(1)fR Generate a visual representation of your +dependencies . .TP fBbundle init(1)fR Generate a simple fBGemfilefR, placed +in the current directory . .TP fBbundle gem(1)fR Create a simple gem, +suitable for development with bundler . .SH “OBSOLETE” These +commands are obsolete and should no longer be used . .IP “(bu” +4 fBbundle lock(1)fR . .IP “(bu” 4 fBbundle unlock(1)fR . .IP +“(bu” 4 fBbundle cache(1)fR . .IP “” 0 +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle_txt.html new file mode 100644 index 00000000..82641b1f --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/bundle_txt.html @@ -0,0 +1,352 @@ + + + + + + + + File: bundle.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+BUNDLE(1) +BUNDLE(1) +

+

+NAME +

+
+       bundle - Ruby Dependency Management
+
+

+SYNOPSIS +

+
+       bundle [--no-color] COMMAND [ARGS]
+
+

+DESCRIPTION +

+
+       Bundler  manages  an application's dependencies through its entire life
+       across many machines systematically and repeatably.
+
+       See the bundler website http://gembundler.com for information  on  get-
+       ting  started,  and Gemfile(5) for more information on the Gemfile for-
+       mat.
+
+

+OPTIONS +

+
+       --no-color
+              Prints all output without color
+
+

+BUNDLE COMMANDS +

+
+       We divide bundle subcommands into primary commands and utilities.
+
+

+PRIMARY COMMANDS +

+
+       bundle install(1) bundle-install.1.html
+              Install the gems specified by the Gemfile or Gemfile.lock
+
+       bundle update(1) bundle-update.1.html
+              Update dependencies to their latest versions
+
+       bundle package(1) bundle-package.1.html
+              Package the .gem files required by  your  application  into  the
+              vendor/cache directory
+
+       bundle exec(1) bundle-exec.1.html
+              Execute a script in the context of the current bundle
+
+       bundle config(1) bundle-config.1.html
+              Specify and read configuration options for bundler
+
+

+UTILITIES +

+
+       bundle check(1)
+              Determine  whether  the  requirements  for  your application are
+              installed and available to bundler
+
+       bundle list(1)
+              Show all of the gems in the current bundle
+
+       bundle show(1)
+              Show the source location of a particular gem in the bundle
+
+       bundle console(1)
+              Start an IRB session in the context of the current bundle
+
+       bundle open(1)
+              Open an installed gem in the editor
+
+       bundle viz(1)
+              Generate a visual representation of your dependencies
+
+       bundle init(1)
+              Generate a simple Gemfile, placed in the current directory
+
+       bundle gem(1)
+              Create a simple gem, suitable for development with bundler
+
+

+OBSOLETE +

+
+       These commands are obsolete and should no longer be used
+
+       o   bundle lock(1)
+
+       o   bundle unlock(1)
+
+       o   bundle cache(1)
+
+                                  August 2010                        BUNDLE(1)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/gemfile_5_txt.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/gemfile_5_txt.html new file mode 100644 index 00000000..3220188b --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/man/gemfile_5_txt.html @@ -0,0 +1,527 @@ + + + + + + + + File: gemfile.5.txt [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+GEMFILE(5) +GEMFILE(5) +

+

+NAME +

+
+       Gemfile - A format for describing gem dependencies for Ruby programs
+
+

+SYNOPSIS +

+
+       A Gemfile describes the gem dependencies required to execute associated
+       Ruby code.
+
+       Place the Gemfile in the root of the directory containing  the  associ-
+       ated  code.  For instance, in a Rails application, place the Gemfile in
+       the same directory as the Rakefile.
+
+

+SYNTAX +

+
+       A Gemfile is evaluated as Ruby code, in a context which makes available
+       a number of methods used to describe the gem requirements.
+
+

+SOURCES (source) +

+
+       At  the  top of the Gemfile, add one line for each Rubygems source that
+       might contain the gems listed in the Gemfile.
+
+           source "http://rubygems.org"
+           source "http://gems.github.com"
+
+       Each of these _source_s MUST be a valid Rubygems repository.
+
+

+GEMS (gem) +

+
+       Specify gem requirements using the gem method, with the following argu-
+       ments. All parameters are OPTIONAL unless otherwise specified.
+
+   NAME (required)
+       For each gem requirement, list a single gem line.
+
+           gem "nokogiri"
+
+   VERSION
+       Each gem MAY have one or more version specifiers.
+
+           gem "nokogiri", ">= 1.4.2"
+           gem "RedCloth", ">= 4.1.0", "< 4.2.0"
+
+   REQUIRE AS (:require)
+       Each  gem  MAY specify its main file, which should be used when autore-
+       quiring (Bundler.require).
+
+           gem "sqlite3-ruby", :require => "sqlite3"
+
+       This defaults to the name of the gem itself. For  instance,  these  are
+       identical:
+
+           gem "nokogiri"
+           gem "nokogiri", :require => "nokogiri"
+
+   GROUPS (:group or :groups)
+       Each  gem  MAY  specify  membership in one or more groups. Any gem that
+       does not specify membership in any  group  is  placed  in  the  default
+       group.
+
+           gem "rspec", :group => :test
+           gem "wirble", :groups => [:development, :test]
+
+       The  Bundler  runtime  allows  its  two main methods, Bundler.setup and
+       Bundler.require, to limit their impact to particular groups.
+
+           # setup adds gems to Ruby's load path
+           Bundler.setup                    # defaults to all groups
+           require "bundler/setup"          # same as Bundler.setup
+           Bundler.setup(:default)          # only set up the _default_ group
+           Bundler.setup(:test)             # only set up the _test_ group (but `not` _default_)
+           Bundler.setup(:default, :test)   # set up the _default_ and _test_ groups, but no others
+
+           # require requires all of the gems in the specified groups
+           Bundler.require                  # defaults to just the _default_ group
+           Bundler.require(:default)        # identical
+           Bundler.require(:default, :test) # requires the _default_ and _test_ groups
+           Bundler.require(:test)           # requires just the _test_ group
+
+       The Bundler CLI allows you to specify a list of groups whose gems  bun-
+       dle  install  should  not install with the --without option. To specify
+       multiple groups to ignore, specify a list of groups separated  by  spa-
+       ces.
+
+           bundle install --without test
+           bundle install --without development test
+
+       After running bundle install --without test, bundler will remember that
+       you excluded the test group in the last installation. The next time you
+       run  bundle  install, without any --without option, bundler will recall
+       it.
+
+       Also, calling Bundler.setup with  no  parameters,  or  calling  require
+       "bundler/setup"  will setup all groups except for the ones you excluded
+       via --without (since they are obviously not available).
+
+       Note that on bundle install, bundler downloads and evaluates all  gems,
+       in  order to create a single canonical list of all of the required gems
+       and their dependencies. This means that you cannot list different  ver-
+       sions  of  the  same  gems  in  different groups. For more details, see
+       Understanding Bundler http://gembundler.com/v1.0/understanding.html.
+
+   PLATFORMS (:platforms)
+       If a gem should only be used in a particular platform or set  of  plat-
+       forms,  you  can  specify  them. Platforms are essentially identical to
+       groups, except that you do not need to use the  --without  install-time
+       flag to exclude groups of gems for other platforms.
+
+       There are a number of Gemfile platforms:
+
+       ruby   C Ruby (MRI) or Rubinius, but NOT Windows
+
+       ruby_18
+              ruby AND version 1.8
+
+       ruby_19
+              ruby AND version 1.9
+
+       mri    Same as ruby, but not Rubinius
+
+       mri_18 mri AND version 1.8
+
+       mri_19 mri AND version 1.9
+
+       jruby  JRuby
+
+       mswin  Windows
+
+       As with groups, you can specify one or more platforms:
+
+           gem "weakling",   :platforms => :jruby
+           gem "ruby-debug", :platforms => :mri_18
+           gem "nokogiri",   :platforms => [:mri_18, :jruby]
+
+       All   operations   involving  groups  (bundle  install,  Bundler.setup,
+       Bundler.require) behave exactly the same as if any groups not  matching
+       the current platform were explicitly excluded.
+
+   GIT (:git)
+       If necessary, you can specify that a gem is located at a particular git
+       repository.       The       repository       can       be        public
+       (http://github.com/rails/rails.git)              or             private
+       (git@github.com:rails/rails.git). If the  repository  is  private,  the
+       user  that you use to run bundle install MUST have the appropriate keys
+       available in their $HOME/.ssh.
+
+       Git repositories are specified using the  :git  parameter.  The  group,
+       platforms,  and  require  options  are available and behave exactly the
+       same as they would for a normal gem.
+
+           gem "rails", :git => "git://github.com/rails/rails.git"
+
+       A git repository SHOULD have at least one file,  at  the  root  of  the
+       directory  containing  the  gem, with the extension .gemspec. This file
+       MUST contain a valid gem specification, as expected by  the  gem  build
+       command.  It MUST NOT have any dependencies, other than on the files in
+       the git repository itself and any built-in  functionality  of  Ruby  or
+       Rubygems.
+
+       If  a  git repository does not have a .gemspec, bundler will attempt to
+       create one, but it will not contain any dependencies, executables, or C
+       extension  compilation  instructions. As a result, it may fail to prop-
+       erly integrate into your application.
+
+       If a git repository does have a .gemspec for the gem  you  attached  it
+       to,  a version specifier, if provided, means that the git repository is
+       only valid if the .gemspec specifies a  version  matching  the  version
+       specifier. If not, bundler will print a warning.
+
+           gem "rails", "2.3.8", :git => "git://github.com/rails/rails.git"
+           # bundle install will fail, because the .gemspec in the rails
+           # repository's master branch specifies version 3.0.0
+
+       If  a  git repository does not have a .gemspec for the gem you attached
+       it to, a version specifier MUST be provided. Bundler will use this ver-
+       sion in the simple .gemspec it creates.
+
+       Git repositories support a number of additional options.
+
+       branch, tag, and ref
+              You  MUST only specify at most one of these options. The default
+              is :branch => "master"
+
+       submodules
+              Specify :submodules => true to cause bundler to expand any  sub-
+              modules included in the git repository
+
+       If  a  git repository contains multiple .gemspecs, each .gemspec repre-
+       sents a gem located at the same place in the file system as  the  .gem-
+       spec.
+
+           |~rails                   [git root]
+           | |-rails.gemspec         [rails gem located here]
+           |~actionpack
+           | |-actionpack.gemspec    [actionpack gem located here]
+           |~activesupport
+           | |-activesupport.gemspec [activesupport gem located here]
+
+       To  install  a  gem located in a git repository, bundler changes to the
+       directory containing the gemspec, runs gem build name.gemspec and  then
+       installs the resulting gem. The gem build command, which comes standard
+       with Rubygems, evaluates the .gemspec in the context of  the  directory
+       in which it is located.
+
+   PATH (:path)
+       You  can  specify that a gem is located in a particular location on the
+       file system. Relative paths are resolved relative to the directory con-
+       taining the Gemfile.
+
+       Similar  to the semantics of the :git option, the :path option requires
+       that the directory in question either contains a .gemspec for the  gem,
+       or that you specify an explicit version that bundler should use.
+
+       Unlike  :git,  bundler does not compile C extensions for gems specified
+       as paths.
+
+           gem "rails", :path => "vendor/rails"
+
+

+BLOCK FORM OF GIT, PATH, GROUP and PLATFORMS +

+
+       The :git, :path, :group, and :platforms options may  be  applied  to  a
+       group of gems by using block form.
+
+           git "git://github.com/rails/rails.git" do
+             gem "activesupport"
+             gem "actionpack"
+           end
+
+           platforms :ruby do
+             gem "ruby-debug"
+             gem "sqlite3-ruby"
+           end
+
+           group :development do
+             gem "wirble"
+             gem "faker"
+           end
+
+       In  the  case of the git block form, the :ref, :branch, :tag, and :sub-
+       modules options may be passed to the git method, and all  gems  in  the
+       block will inherit those options.
+
+

+SOURCE PRIORITY +

+
+       When  attempting  to locate a gem to satisfy a gem requirement, bundler
+       uses the following priority order:
+
+       1.  The source explicitly attached to the gem (using :path or :git)
+
+       2.  For implicit gems (dependencies of explicit gems), any git or  path
+           repository otherwise declared. This results in bundler prioritizing
+           the ActiveSupport gem from the Rails git repository over ones  from
+           rubygems.org
+
+       3.  The  sources  specified via source, in the order in which they were
+           declared in the Gemfile.
+
+                                  August 2010                       GEMFILE(5)
+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/remote_specification_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/remote_specification_rb.html new file mode 100644 index 00000000..f1345e1e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/remote_specification_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: remote_specification.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • uri
  • + +
  • rubygems/spec_fetcher
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/resolver_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/resolver_rb.html new file mode 100644 index 00000000..e1128895 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/resolver_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: resolver.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • set
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/rubygems_ext_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/rubygems_ext_rb.html new file mode 100644 index 00000000..2e9effe7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/rubygems_ext_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: rubygems_ext.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • pathname
  • + +
  • rubygems
  • + +
  • rubygems/specification
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/runtime_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/runtime_rb.html new file mode 100644 index 00000000..2d391572 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/runtime_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: runtime.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • digest/sha1
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/settings_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/settings_rb.html new file mode 100644 index 00000000..f0ac1cd2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/settings_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: settings.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/setup_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/setup_rb.html new file mode 100644 index 00000000..21cd3de1 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/setup_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: setup.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • bundler/shared_helpers
  • + +
  • bundler
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/shared_helpers_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/shared_helpers_rb.html new file mode 100644 index 00000000..853bf804 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/shared_helpers_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: shared_helpers.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • pathname
  • + +
  • rubygems
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/source_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/source_rb.html new file mode 100644 index 00000000..520d17dc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/source_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: source.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • uri
  • + +
  • rubygems/installer
  • + +
  • rubygems/spec_fetcher
  • + +
  • rubygems/format
  • + +
  • digest/sha1
  • + +
  • open3
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/spec_set_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/spec_set_rb.html new file mode 100644 index 00000000..fbcfb488 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/spec_set_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: spec_set.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • tsort
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/templates/Gemfile.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/templates/Gemfile.html new file mode 100644 index 00000000..cd27fde4 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/templates/Gemfile.html @@ -0,0 +1,257 @@ + + + + + + + + File: Gemfile [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + + + +
+

Class Index + [+]

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

+# A sample Gemfile source “rubygems.org“ +

+

+# gem “rails“ +

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/ui_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/ui_rb.html new file mode 100644 index 00000000..68e7e606 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/ui_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: ui.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html new file mode 100644 index 00000000..dfde173d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/create_file_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: create_file.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/actions/empty_directory
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html new file mode 100644 index 00000000..212b7f24 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/directory_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: directory.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/actions/empty_directory
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html new file mode 100644 index 00000000..ff7fecf2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/empty_directory_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: empty_directory.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html new file mode 100644 index 00000000..9aab487b --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/file_manipulation_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: file_manipulation.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • erb
  • + +
  • open-uri
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html new file mode 100644 index 00000000..93d64146 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions/inject_into_file_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: inject_into_file.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/actions/empty_directory
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions_rb.html new file mode 100644 index 00000000..661d0be9 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/actions_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: actions.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • fileutils
  • + +
  • uri
  • + +
  • thor/core_ext/file_binary_read
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/base_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/base_rb.html new file mode 100644 index 00000000..63fd4811 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/base_rb.html @@ -0,0 +1,68 @@ + + + + + + + + File: base.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/core_ext/hash_with_indifferent_access
  • + +
  • thor/core_ext/ordered_hash
  • + +
  • thor/error
  • + +
  • thor/shell
  • + +
  • thor/invocation
  • + +
  • thor/parser
  • + +
  • thor/task
  • + +
  • thor/util
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html new file mode 100644 index 00000000..814b1f4e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/file_binary_read_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: file_binary_read.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html new file mode 100644 index 00000000..1d2d2d08 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: hash_with_indifferent_access.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html new file mode 100644 index 00000000..e8c515d7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/core_ext/ordered_hash_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: ordered_hash.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/error_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/error_rb.html new file mode 100644 index 00000000..c1418406 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/error_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: error.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/invocation_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/invocation_rb.html new file mode 100644 index 00000000..c69d91eb --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/invocation_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: invocation.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html new file mode 100644 index 00000000..a273d8a0 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/argument_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: argument.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html new file mode 100644 index 00000000..be82eaa6 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/arguments_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: arguments.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/option_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/option_rb.html new file mode 100644 index 00000000..af604fcc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/option_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: option.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/options_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/options_rb.html new file mode 100644 index 00000000..96d5ca65 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser/options_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: options.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser_rb.html new file mode 100644 index 00000000..1ef1a268 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/parser_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: parser.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/parser/argument
  • + +
  • thor/parser/arguments
  • + +
  • thor/parser/option
  • + +
  • thor/parser/options
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html new file mode 100644 index 00000000..606c1ff2 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/basic_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: basic.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • tempfile
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/color_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/color_rb.html new file mode 100644 index 00000000..a0dd6fd7 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/color_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: color.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/shell/basic
  • + +
  • diff/lcs
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/html_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/html_rb.html new file mode 100644 index 00000000..76079f4e --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell/html_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: html.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/shell/basic
  • + +
  • diff/lcs
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell_rb.html new file mode 100644 index 00000000..35d90bb8 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/shell_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: shell.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • rbconfig
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/task_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/task_rb.html new file mode 100644 index 00000000..7ea6960c --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/task_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: task.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/util_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/util_rb.html new file mode 100644 index 00000000..26b24aa5 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/util_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: util.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • rbconfig
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/version_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/version_rb.html new file mode 100644 index 00000000..a6ab258d --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor/version_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: version.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor_rb.html new file mode 100644 index 00000000..f83c4702 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/vendor/thor_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: thor.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • thor/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/version_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/version_rb.html new file mode 100644 index 00000000..29cacb0a --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler/version_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: version.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler_rb.html b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler_rb.html new file mode 100644 index 00000000..e16c86bc --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/lib/bundler_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: bundler.rb [bundler-1.0.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
Thu Sep 23 23:33:39 -0500 2010
+ + +
Requires
+
+
    + +
  • rbconfig
  • + +
  • fileutils
  • + +
  • pathname
  • + +
  • yaml
  • + +
  • bundler/rubygems_ext
  • + +
  • bundler/version
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/rdoc.css b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/rdoc.css new file mode 100644 index 00000000..ffe99600 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/rdoc/rdoc.css @@ -0,0 +1,706 @@ +/* + * "Darkfish" Rdoc CSS + * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Base Green is: #6C8C22 */ + +*{ padding: 0; margin: 0; } + +body { + background: #efefef; + font: 14px "Helvetica Neue", Helvetica, Tahoma, sans-serif; +} +body.class, body.module, body.file { + margin-left: 40px; +} +body.file-popup { + font-size: 90%; + margin-left: 0; +} + +h1 { + font-size: 300%; + text-shadow: rgba(135,145,135,0.65) 2px 2px 3px; + color: #6C8C22; +} +h2,h3,h4 { margin-top: 1.5em; } + +:link, +:visited { + color: #6C8C22; + text-decoration: none; +} +:link:hover, +:visited:hover { + border-bottom: 1px dotted #6C8C22; +} + +pre { + background: #ddd; + padding: 0.5em 0; +} + + +/* @group Generic Classes */ + +.initially-hidden { + display: none; +} + +.quicksearch-field { + width: 98%; + background: #ddd; + border: 1px solid #aaa; + height: 1.5em; + -webkit-border-radius: 4px; +} +.quicksearch-field:focus { + background: #f1edba; +} + +.missing-docs { + font-size: 120%; + background: white url(images/wrench_orange.png) no-repeat 4px center; + color: #ccc; + line-height: 2em; + border: 1px solid #d00; + opacity: 1; + padding-left: 20px; + text-indent: 24px; + letter-spacing: 3px; + font-weight: bold; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; +} + +.target-section { + border: 2px solid #dcce90; + border-left-width: 8px; + padding: 0 1em; + background: #fff3c2; +} + +/* @end */ + + +/* @group Index Page, Standalone file pages */ +body.indexpage { + margin: 1em 3em; +} +body.indexpage p, +body.indexpage div, +body.file p { + margin: 1em 0; +} + +.indexpage ul, +.file #documentation ul { + line-height: 160%; + list-style: none; +} +.indexpage ul :link, +.indexpage ul :visited { + font-size: 16px; +} + +.indexpage li, +.file #documentation li { + padding-left: 20px; + background: url(images/bullet_black.png) no-repeat left 4px; +} +.indexpage li.module { + background: url(images/package.png) no-repeat left 4px; +} +.indexpage li.class { + background: url(images/ruby.png) no-repeat left 4px; +} +.indexpage li.file { + background: url(images/page_white_text.png) no-repeat left 4px; +} +.file li p, +.indexpage li p { + margin: 0 0; +} + +/* @end */ + +/* @group Top-Level Structure */ + +.class #metadata, +.file #metadata, +.module #metadata { + float: left; + width: 260px; +} + +.class #documentation, +.file #documentation, +.module #documentation { + margin: 2em 1em 5em 300px; + min-width: 340px; +} + +.file #metadata { + margin: 0.8em; +} + +#validator-badges { + clear: both; + margin: 1em 1em 2em; +} + +/* @end */ + +/* @group Metadata Section */ +#metadata .section { + background-color: #dedede; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border: 1px solid #aaa; + margin: 0 8px 16px; + font-size: 90%; + overflow: hidden; +} +#metadata h3.section-header { + margin: 0; + padding: 2px 8px; + background: #ccc; + color: #666; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-bottom: 1px solid #aaa; +} +#metadata #home-section h3.section-header { + border-bottom: 0; +} + +#metadata ul, +#metadata dl, +#metadata p { + padding: 8px; + list-style: none; +} + +#file-metadata ul { + padding-left: 28px; + list-style-image: url(images/page_green.png); +} + +dl.svninfo { + color: #666; + margin: 0; +} +dl.svninfo dt { + font-weight: bold; +} + +ul.link-list li { + white-space: nowrap; +} +ul.link-list .type { + font-size: 8px; + text-transform: uppercase; + color: white; + background: #969696; + padding: 2px 4px; + -webkit-border-radius: 5px; +} + +/* @end */ + + +/* @group Project Metadata Section */ +#project-metadata { + margin-top: 3em; +} + +.file #project-metadata { + margin-top: 0em; +} + +#project-metadata .section { + border: 1px solid #aaa; +} +#project-metadata h3.section-header { + border-bottom: 1px solid #aaa; + position: relative; +} +#project-metadata h3.section-header .search-toggle { + position: absolute; + right: 5px; +} + + +#project-metadata form { + color: #777; + background: #ccc; + padding: 8px 8px 16px; + border-bottom: 1px solid #bbb; +} +#project-metadata fieldset { + border: 0; +} + +#no-class-search-results { + margin: 0 auto 1em; + text-align: center; + font-size: 14px; + font-weight: bold; + color: #aaa; +} + +/* @end */ + + +/* @group Documentation Section */ +#description { + font-size: 100%; + color: #333; +} + +#description p { + margin: 1em 0.4em; +} + +#description li p { + margin: 0; +} + +#description ul { + margin-left: 1.5em; +} +#description ul li { + line-height: 1.4em; +} + +#description dl, +#documentation dl { + margin: 8px 1.5em; + border: 1px solid #ccc; +} +#description dl { + font-size: 14px; +} + +#description dt, +#documentation dt { + padding: 2px 4px; + font-weight: bold; + background: #ddd; +} +#description dd, +#documentation dd { + padding: 2px 12px; +} +#description dd + dt, +#documentation dd + dt { + margin-top: 0.7em; +} + +#documentation .section { + font-size: 90%; +} +#documentation h3.section-header { + margin-top: 2em; + padding: 0.75em 0.5em; + background-color: #dedede; + color: #333; + font-size: 150%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +#constants-list > dl, +#attributes-list > dl { + margin: 1em 0 2em; + border: 0; +} +#constants-list > dl dt, +#attributes-list > dl dt { + padding-left: 0; + font-weight: bold; + font-family: Monaco, "Andale Mono"; + background: inherit; +} +#constants-list > dl dt a, +#attributes-list > dl dt a { + color: inherit; +} +#constants-list > dl dd, +#attributes-list > dl dd { + margin: 0 0 1em 0; + padding: 0; + color: #666; +} + +/* @group Method Details */ + +#documentation .method-source-code { + display: none; +} + +#documentation .method-detail { + margin: 0.5em 0; + padding: 0.5em 0; + cursor: pointer; +} +#documentation .method-detail:hover { + background-color: #f1edba; +} +#documentation .method-heading { + position: relative; + padding: 2px 4px 0 20px; + font-size: 125%; + font-weight: bold; + color: #333; + background: url(images/brick.png) no-repeat left bottom; +} +#documentation .method-heading :link, +#documentation .method-heading :visited { + color: inherit; +} +#documentation .method-click-advice { + position: absolute; + top: 2px; + right: 5px; + font-size: 10px; + color: #9b9877; + visibility: hidden; + padding-right: 20px; + line-height: 20px; + background: url(images/zoom.png) no-repeat right top; +} +#documentation .method-detail:hover .method-click-advice { + visibility: visible; +} + +#documentation .method-alias .method-heading { + color: #666; + background: url(images/brick_link.png) no-repeat left bottom; +} + +#documentation .method-description, +#documentation .aliases { + margin: 0 20px; + line-height: 1.2em; + color: #666; +} +#documentation .aliases { + padding-top: 4px; + font-style: italic; + cursor: default; +} +#documentation .method-description p { + padding: 0; +} +#documentation .method-description p + p { + margin-bottom: 0.5em; +} +#documentation .method-description ul { + margin-left: 1.5em; +} + +#documentation .attribute-method-heading { + background: url(images/tag_green.png) no-repeat left bottom; +} +#documentation #attribute-method-details .method-detail:hover { + background-color: transparent; + cursor: default; +} +#documentation .attribute-access-type { + font-size: 60%; + text-transform: uppercase; + vertical-align: super; + padding: 0 2px; +} +/* @end */ + +/* @end */ + + + +/* @group Source Code */ + +div.method-source-code { + background: #262626; + color: #efefef; + margin: 1em; + padding: 0.5em; + border: 1px dashed #999; + overflow: hidden; +} + +div.method-source-code pre { + background: inherit; + padding: 0; + color: white; + overflow: auto; +} + +/* @group Ruby keyword styles */ + +.ruby-constant { color: #7fffd4; background: transparent; } +.ruby-keyword { color: #00ffff; background: transparent; } +.ruby-ivar { color: #eedd82; background: transparent; } +.ruby-operator { color: #00ffee; background: transparent; } +.ruby-identifier { color: #ffdead; background: transparent; } +.ruby-node { color: #ffa07a; background: transparent; } +.ruby-comment { color: #b22222; font-weight: bold; background: transparent; } +.ruby-regexp { color: #ffa07a; background: transparent; } +.ruby-value { color: #7fffd4; background: transparent; } + +/* @end */ +/* @end */ + + +/* @group File Popup Contents */ + +.file #metadata, +.file-popup #metadata { +} + +.file-popup dl { + font-size: 80%; + padding: 0.75em; + background-color: #dedede; + color: #333; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} +.file dt { + font-weight: bold; + padding-left: 22px; + line-height: 20px; + background: url(images/page_white_width.png) no-repeat left top; +} +.file dt.modified-date { + background: url(images/date.png) no-repeat left top; +} +.file dt.requires { + background: url(images/plugin.png) no-repeat left top; +} +.file dt.scs-url { + background: url(images/wrench.png) no-repeat left top; +} + +.file dl dd { + margin: 0 0 1em 0; +} +.file #metadata dl dd ul { + list-style: circle; + margin-left: 20px; + padding-top: 0; +} +.file #metadata dl dd ul li { +} + + +.file h2 { + margin-top: 2em; + padding: 0.75em 0.5em; + background-color: #dedede; + color: #333; + font-size: 120%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/* @end */ + + + + +/* @group ThickBox Styles */ +#TB_window { + font: 12px Arial, Helvetica, sans-serif; + color: #333333; +} + +#TB_secondLine { + font: 10px Arial, Helvetica, sans-serif; + color:#666666; +} + +#TB_window :link, +#TB_window :visited { color: #666666; } +#TB_window :link:hover, +#TB_window :visited:hover { color: #000; } +#TB_window :link:active, +#TB_window :visited:active { color: #666666; } +#TB_window :link:focus, +#TB_window :visited:focus { color: #666666; } + +#TB_overlay { + position: fixed; + z-index:100; + top: 0px; + left: 0px; + height:100%; + width:100%; +} + +.TB_overlayMacFFBGHack {background: url(images/macFFBgHack.png) repeat;} +.TB_overlayBG { + background-color:#000; + filter:alpha(opacity=75); + -moz-opacity: 0.75; + opacity: 0.75; +} + +* html #TB_overlay { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_window { + position: fixed; + background: #ffffff; + z-index: 102; + color:#000000; + display:none; + border: 4px solid #525252; + text-align:left; + top:50%; + left:50%; +} + +* html #TB_window { /* ie6 hack */ +position: absolute; +margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_window img#TB_Image { + display:block; + margin: 15px 0 0 15px; + border-right: 1px solid #ccc; + border-bottom: 1px solid #ccc; + border-top: 1px solid #666; + border-left: 1px solid #666; +} + +#TB_caption{ + height:25px; + padding:7px 30px 10px 25px; + float:left; +} + +#TB_closeWindow{ + height:25px; + padding:11px 25px 10px 0; + float:right; +} + +#TB_closeAjaxWindow{ + padding:7px 10px 5px 0; + margin-bottom:1px; + text-align:right; + float:right; +} + +#TB_ajaxWindowTitle{ + float:left; + padding:7px 0 5px 10px; + margin-bottom:1px; + font-size: 22px; +} + +#TB_title{ + background-color: #6C8C22; + color: #dedede; + height:40px; +} +#TB_title :link, +#TB_title :visited { + color: white !important; + border-bottom: 1px dotted #dedede; +} + +#TB_ajaxContent{ + clear:both; + padding:2px 15px 15px 15px; + overflow:auto; + text-align:left; + line-height:1.4em; +} + +#TB_ajaxContent.TB_modal{ + padding:15px; +} + +#TB_ajaxContent p{ + padding:5px 0px 5px 0px; +} + +#TB_load{ + position: fixed; + display:none; + height:13px; + width:208px; + z-index:103; + top: 50%; + left: 50%; + margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */ +} + +* html #TB_load { /* ie6 hack */ +position: absolute; +margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_HideSelect{ + z-index:99; + position:fixed; + top: 0; + left: 0; + background-color:#fff; + border:none; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; + height:100%; + width:100%; +} + +* html #TB_HideSelect { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_iframeContent{ + clear:both; + border:none; + margin-bottom:-1px; + margin-top:1px; + _margin-bottom:1px; +} + +/* @end */ + +/* @group Debugging Section */ + +#debugging-toggle { + text-align: center; +} +#debugging-toggle img { + cursor: pointer; +} + +#rdoc-debugging-section-dump { + display: none; + margin: 0 2em 2em; + background: #ccc; + border: 1px solid #999; +} + + + +/* @end */ diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/cdesc-BundlerError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/cdesc-BundlerError.ri new file mode 100644 index 0000000000000000000000000000000000000000..592fb9325f04373c28d53801b2c0f88e2492e619 GIT binary patch literal 218 zcmY+7KM%qn5XCzfsjW8Z;Gi2H=z^{e$x5T}jOdVVM+NX_ukVpt$x#j|2fH8Z!ttFvKnABy**JxI z?>WZ6ig5@dv=T#E$q3Xwy^I!YN|zz>n8H&ysq&%m=%Nx)$^1xQ?ooeuRK1`JZFATP P#WJETd#{}hyJE!`9O^?x literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/status_code-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/BundlerError/status_code-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..f849e1ac309191e2fee2c88e699973add25a3d03 GIT binary patch literal 136 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C@x7XDJ_mq&QD2IQg-A&vU1F;^i3_v$WMvp&ty~LN={79NL3PdD$PsDNiDLna`y3528+2_ zaTk;(+B( zz7k(@^Z7zr$`1->Ww%zv*saV0#P;nKZlAL|SPW85Q?(l?ki7o~-c>kdFD29Yj4l^M~SYKwa?$yXnqt9FR+f3gT{RzO02GY zpoBW%VIpPYgBexAX@G0vVp2|H$3Cs-Hf*c(fZPVuC#W^Kqv@gH9?2q9_=6fmk7uX` zv>qzsOoC?iu@)*zj8){(LF1J^sh*)Y&;{!3X0gux!1>UO7$ScQ#Atpwy_zm+mweTF TP$Ta9K*!?)+%UxJdyf1Angnm7 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/check-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/check-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8e17f8c215195af2fc61e22a7049f87bd1d8630e GIT binary patch literal 104 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LO3p}4&Q=n4D$PsDNiDLna`y3528+2_ zaTk;(-A&vU1F;^i3_v$WMvp&ty~LPR`Fu%S>02a4OA9$w@7;vU2wERE7w; zS#cMXCgo%%=UYib^!g?iWtSFMSpf|y%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~LNzTtJ&d*6zl5{G~OUX$sva)ja@l=M2 zx><1-lqTh5Cg)p8Lv;Hl7G;+fSXlv$D$PyJD`B(Zb|^?JDk+X;FffQ_P!iHeFUl`1 MP_R|V%goUP0K}Umf&c&j literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/exec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/exec-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..eb13ffba878541b0c951a1a9832333549e15e7dd GIT binary patch literal 103 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOsz;wRuXe6%}dEiEwZw5_VH8(3AtHu z7nCODWG3fZNkjDcCKhFv7FbyU4Jpk{%`0KE;&v!VEGj9EW-u^_W>DhL(9#3|VsIZ5 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/gem-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e4ae082466b23dce5cf7e4a5442b2422c00ff114 GIT binary patch literal 104 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNKegG5_KxgOUX$sva)ja@l*zixLI)* zlqTh5Cg)p8Lv;Bj7G;+fSXlv$D9ugHD`B(Zb|^?JDk+X;FffQ_P~z6eOUzBx1ORj& BAF}`e literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/have_groff%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/have_groff%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..937f4428871587f749ca393a6763dde5826efebb GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$Ve-A&vU1F;^i3_v$WMvp&ty~L%t*~CP!e-0%}dEiEwZw5_VH8(3AtHu z7nCODWG3fZNkjDcCKhFv7FbyU4Jpk{%`0KE;&v!VEGj9EW-u^_W>6B)NY2SruvN&* H%+Uk@Y)&EZ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/init-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/init-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5cdcb7c8ad58761bd16cdce11252fa09b317df4c GIT binary patch literal 102 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%*@LyQ4(`1%}dEiEwZw5_VH8(3AtHu y7nCODWG3fZNkjDcCKhFv7FbyU4Jpk{%`0KE;&v!VEGj9EW-u^_W>8|+&;$TV!XE|z literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/install-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..34f7dbebe61b86b5c9cce4a81744384f066e3d64 GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$;>M*NzBPnl5{G~OUX$sva)ja@l=M2 zx><1-lqTh5Cg)p8Lv;Hl7G;+fSXlv$D$PyJD`B(Zb|^?JDk+X;FffQ_P!iNANG!=v LuvN&*%+Uk@pYJ6J literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/locate_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/locate_gem-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..da3087827b05af4f94e6db8b414b3af11f2e7fe2 GIT binary patch literal 119 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L&&f|tEJ=+|Pt8@5aVpJA$w@7;vU2wE zR7Oa+S@9GUWtIVz@(uQXI`-U=Yoq#I2E+ In478z0OheI>;M1& literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/lock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..75af44e4b6a9ddde81c2a54ec3028680e9d04347 GIT binary patch literal 102 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%*jvARuXe6%}dEiEwZw5_VH8(3AtHu y7nCODWG3fZNkjDcCKhFv7FbyU4Jpk{%`0KE;&v!VEGj9EW-u^_W>8|+&;$TQS03;H literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..2a93554c9ae5b89bb8a3810fbeab06b7530e63e8 GIT binary patch literal 102 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(5_2leOUX$sva)ja@wBo63WZp4 z7nCODWG3fZNkg>xCKhFv7FbyU%_z-H%`0KE;&v!VEGj9EW-u^_W>DhL(9#3|Kn@-A&vU1F;^i3_v$WMvp&ty~L%r8jIQxbD3%}dEiEwZw5_VH8(3AtHu z7nCODWG3fZNkjDcCKhFv7FbyU4Jpk{%`0KE;&v!VEGj9EW-u^_W>DhR$V<#k)dT>` CBOs>$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/package-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/package-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..947fb0452e8e2d9a13e184f859fa1738a3f22a35 GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDM(DtPE1c#l5{G~OUX$sva)ja@l=M2 zx><1-lqTh5Cg)p8Lv;Hl7G;+fSXlv$D$PyJD`B(Zb|^?JDk+X;FffQ_P-5561OOx1 BAv^#8 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/show-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/show-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c9f857584f1eacb43f9147441a9915ecded60a39 GIT binary patch literal 116 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEY8R;R}yn7%}dEiEwZw5_VH8(3AtHu z7nCODWG3fZNkjDcCKhFv7FbyU4Jpk{%`0KE;&v!VEGj9EW-u^_W>6BDCjbBd literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/source_root-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/source_root-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..8294167449b941ad14e92ea955a3264742bb561b GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)D9$e}N=}V0%Fi!Rl5;A}OUX$sva)ja z@wBo+k_xfnE+|dP$xP0-l7<-Ln^=@xT3}@bG_y1}HLrxtirb+ev8bdtn!&&znn8(O GLlXePLnU+o literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/unlock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/unlock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d0d4c46c7fd6e95570242b091f13f3c5c8bc9c02 GIT binary patch literal 106 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LF3royPtI17a4OA9$w@7;vU2wERE7w; zS#cMXCgo%%=UYib^!g?iWtSFMSpf|y%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~LE-gq&EJ;<8a4OA9$w@7;vU2wERE7w; zS#cMXCgo%%=UYib^!g?iWtSFMSpf|y%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~LDN8LX&dkqKl5{G~OUX$sva)ja@l=M2 zx><1-lqTh5Cg)p8Lv;Hl7G;+fSXlv$D$PyJD`B(Zb|^?JDk+X;FffQ_P-5561OP&n BA+P`d literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/viz-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/CLI/viz-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7ef06a846aaaf876969be5619f1b048ad64782e0 GIT binary patch literal 100 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LD9fx;5_KxgOUX$sva)ja@l*zixLI)* xlqTh5Cg)p8Lv;Bj7G;+fSXlv$D9ugHD`B(Zb|^?JDk+X;FffQ_P-5561ONuO9!>xN literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/build-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/build-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..fe299ef2366057296e50a52dc9d45b7930a5cae4 GIT binary patch literal 137 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN-E9FNl}t_D$PsDNiDLna!F0g%*!mv z%+Is30?UP1aTk;(X5ak0NhUQCSjNDQ*8fE8A(w z$=+|Z+V|e*&E$8vyt}osEPqL->d2_=uIUMH8}ecH@K(RE?@hHHP;MIy4O$sgNMMW0X5B!k!n?O~K`yZ1fUS zF{&~K#W!rfqju=YZnA7MWobj?(NOeQ2XCVz zm@2mS1Q)3Ri&haSbEwIoBv`Pl`eb(tc`EzPJ7ep?_!br(TYJQ2=v{i=jl?bnF!xAS z9}$+rPn`w=>gQ`%ozSBS_q7!A9cv1 OM_c$n)_3vrPv;*$togJ6 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_dependencies-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9e93c103b77495b7979bdf2e0795b224f1f3f191 GIT binary patch literal 144 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QO3u$KOD#%IjZaA}NX<)0%}dTqEmqQV zD$PsDNiDLna!F0g%*!mv%+FKCs?^Pjr=TdaEU_dt-%1){gKuI{c4+}nYkqQRZfaf$ Xn-#Z1L1Ix!aWsR0K{SIByM`tJ1gbEz literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_locked_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/converge_locked_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..90b553155bb59e1111cad9d1f2bb2694233b7f4c GIT binary patch literal 330 zcmZusze@u#6n2pFK+(lX9UkYROX(aJm7+r_NYUwr@<`rYLX*6Z%M;K=7noIeMQIkgpwyJO7|* zWCvLj9Ol6^uK<_86x-a-FeM&;(MW g?@2*2UeaI3MDGf1vE*F#-A&vU1F;^i3_v$WMvp&ty{)P0r6NOD#%IjW5nGElN%;R?>7T%}dEi zEwZw5NlnYl%Ph&v&r?QM-A&vU1F;^i3_v$WMvp&ty}QOfD@dO3f>YPf0CE%}YtmOU_I!R?>AU z%}dEiEwZw5NlnYl%Ph&v&r`;x(#?vypfo8bGdbT%8e+U}Vo`Q!0Z?Opa%nEmU^Xjm Uhl0eSlHzCv1A}M=C3X!>0BZCvhyVZp literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/dependencies-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..04649c801edece6c2c089ae463c00ab47ebd10b3 GIT binary patch literal 114 zcmZSK2({u5a>-A&vT`gbDT?OKWKa@JNi9gtOG(X3&P**-A&vU1F;^i3_v$WMvp&ty~5PR%PWElQ0~EiBC}OUy~lD~V4}%}vY9 zNsUj;ONr0PPtFE$l$0%QqwZ?GD|Y^^OT9x>t@AWP@0sJnVfGW4RL~R kVo`Q!0nn)Y-A&vU1F;^i3_v$WMvp&ty}QNUbPH%u9(+Ni9gtOG(X3&P**<(s3%y zOUX$sva)hXP0P&7EXmBzQ^umu&5Ea>D6=fFBsJek8e+O{Vo`Q!0Z?Opa%paAUJ08O nw?jcti`! literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expanded_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/expanded_dependencies-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7cb2fd2795be82f5838f205d470660302352f1ef GIT binary patch literal 144 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QO06hJ%u7j4iBCx_NCh(Tk~33_mGqoS z^HOqBi>$0%QqwZ?GD|Y^^OUhFb+h6rD9S8LEJ@9`l7`sen^=@xS^(6VpIn-onpeVR W#qCg#SX5FR&0t^<&7j1tp$P!_Sum3T literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/groups-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c58ee5587f82d3e7b63675511955cbca7e54929a GIT binary patch literal 113 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LPA|$YEhtu!cPh-A&vU1F;^i3_v$WMvp&ty{)$;^w-$xqHsO^HuQEhx5E(r_xxOUX$s zva)hXP0P&7EXmBzQ$|zdX2nxblv$QolA3QN4KdX>u_(K=0H`THximL5uY}Et+o2$_ WsH8ZW!N4GzL5WubXuOU>iY5SZ-A&vU1F;^i3_v$WMvp&ty~L%FIhitx%G4D$PsDNiDLna!F0g%*!mv z%+FH>OSxHb7nCODWG3fZNka_qO)SbTEdZ*_PcF?(%`0KE;&v!VEGj9EW-u^_W>8|+ G&;$U#sv`&h literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/lock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..684b1c6ac5f09be9091c826a52878b864c8d73e3 GIT binary patch literal 113 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%*jvAR+4op%}dEiEwZw5NlnYl%Ph&v z&r=4;xLI)*lqTh5Cg)p8L$v!Q7G;+f02SsZm*%GCm9SZHI}{`ql@v!a7#Kt|C~<3~ JW#*)60s!}tBg_B* literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/missing_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/missing_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0e4027a9adf9938d3a0321f2ccfe6635fdd94ad9 GIT binary patch literal 127 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%FQe;&df`XFD^(;E>===D$PsDNiDLn za!F0g%*!mv%+FIsQQ~IBT~L~olbM`vB@HpqH?b(Yv;e3hKe;qFHLrxtirb+ev8bdt On!&&znn8(OLlXd@S}E25 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..60325ebf93afd035b493b04022331767b187e214 GIT binary patch literal 147 zcmXAgy9&ZU5CBt12&AyF6CtEh2$Fg$m9%L@tE=MOhAcUEk9#2gy$N;$GqWk4u)BAn z0j~V*F-~ICmh!q_{M3hAVq?(*bT|@IBw>KXJfL*xWl0O{|93z5Ik_bio!-bXhw|bE jAA`!;R%P}1XhqK>S!^nU4%r}U!q8MflGiIFUX#-gogXlh literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_platform%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_platform%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..682190b84a6ae8ded15d254095958bc7dea8306d GIT binary patch literal 127 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%1bSeFUUzONy{(FwO3MeD$PsDNiDLn za!F0g%*!mv%+FIsQQ~IBT~L~olbM`vB@HpqH?b(Yv;e3hKe;qFHLrxtirb+ev8bdt On!&&znn8(OLlXdrL@9y* literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/new_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b4eb46dbde72af1ca77680b93e01d33b9bff9799 GIT binary patch literal 119 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%S$bfFD^(;E>==8|+&;$S?eI{-I literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/no_sources%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/no_sources%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..29437f649c88451c436d9efae0cc709ffa36a150 GIT binary patch literal 123 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$jgr}&Mz%WPA#@qQgJHHOUX$sva)hX zP0P&7EXmBzQ$|wYX2o4lnv|27oNpx!G0ZoyD7&-(s6IcrG&eP`gw2ZEp&+rSq&S+v Mz#y7IiCsez0L>{U;s5{u literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/platforms-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..03dac4df4bc6db868d1258a7d6f0936e0485566b GIT binary patch literal 108 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNO$Vn_o%P-0;R#I{*%}dEiEwZw5NlnYl%Ph&v y&r?Q7vjtgk7nCODWG3fZNkdHWO)SbTEdZ*|PcF?(%`0KE;&v!VEGj9EW&i+QB_omm literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/pretty_dep-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/pretty_dep-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5de0539067fd2021f0d75d196396968c48316c90 GIT binary patch literal 141 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LFDObaDXEN4Ni9%Pb}G$F$w@7;vT{jH z%goCx$;{7FM##Ha@e~wgmL-;?=37Za%<@ev$}TMcs?Sd@%}vcKVYA|PC`c?SDUN0^ eFo-mY7qVstEw}=`N4} literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/removed_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/removed_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3915b60c36effb9674075be6a01747542b6f6113 GIT binary patch literal 127 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DoV}GFH22{FD^(;E>===D$PsDNiDLn za!F0g%*!mv%+FIsQQ~IBT~L~olbM`vB@HpqH?b(Yv;e3hKe;qFHLrxtirb+ev8bdt On!&&znn8(OLlXd;a4E(B literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_dependencies-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2bbc54889e2f692ea1c9786a84fb5002751a7ab1 GIT binary patch literal 146 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QE=nydO)V}-O^HuQElABvNzF^nOf6Q@ zcPhHQFdtoP;Y*6X>Mv> Y37ZwSLqTFuNpUoTfk8Bb61#>b0D!SErvLx| literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/requested_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0b1c542c01fb68508ca939a726442a311a00e016 GIT binary patch literal 131 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DM~FYO)V}-O^GiqNKGzQ(r_xxOUX$s zva)hXP0P&7EXmBzQ$|zdX2o4lnv|27oNpx!G1ND)D7&-(s3$+UG&eP`gw2ZEp&+rS Qq&S+vz#y7IiCsez0Bb!fiU0rr literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/resolve-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3e9645a91aaa37a6355b6988d3c4d7efaef05a08 GIT binary patch literal 115 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDM~HQ&nZh)QgABGOUX$sva)hXP0P&7 zEXmBzQ-(^qS#cMXCgo%%=UYib4Dn4Y$}TMcs?AR>%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty{)D@rZS&nZidFG|hLFG-A&vU1F;^i3_v$WMvp&ty}QC`v8P&nZidFV8H=h)+&T&PY{M(s3%y zOUX$sva)hXP0P&7EXmBzQ^umu&5FCAG$|)DIp0beVz_T&QFdtoP+xv>X>Mv>37ZwS ULqTFuNpUoTfk8Bb61#>b0MObl5&!@I literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/satisfies_locked_spec%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/satisfies_locked_spec%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..974df0cfe1d12ff17d72ac44a6376e7fe39b4276 GIT binary patch literal 149 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QE>0}TEKbWzEsoF0PtHzFi7zflO}1Ck zcPhHQFdtoP;Y*6X>Mv> b37ZwSLqTFuNpUoTfk8Bb5|>6wYJnyI_*OD~ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sorted_sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/sorted_sources-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c154411f4c5dbcff9389053c779ce2230a2ea65c GIT binary patch literal 130 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)F3vA1Nll3_&Mz%WPAyhacPh-A&vT`gbDT?OKWKiNM&Mz%WPAyhaa4OA9$w@7;vT{jH%goCx$;{7F whDovoS#cMXCgo%%=UYibOz=%C$}TMcs?JX?%}vcKVYA|PC`c?SDUN0U0KL2+<^TWy literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..73b1a65ac4228a126d13f69457dbb7434737da1b GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDlSM(E>@CrD$PsDNiDLna!F0g%*!mv z%+FH>OSxHb7nCODWG3fZNka_qO)SbTEdZ*_PcF?(%`0KE;&v!VEGj9EW-u^_W>8|+ G&;$U(Fe4NI literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs_for-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/specs_for-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d22f0d032c730f57224e06c3a5a7d585e75233f9 GIT binary patch literal 125 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LD=tV)E{;#jFH%x+D$PsDNiDLna!F0g z%*!mv%+FJXOS@Td7nCODWG3fZNka_sO)SbTEdZ*{PcF?(%`0KE;&v!VEGj9EW-u^_ QW>DhQNH5ASEhyFm01`bZ4gdfE literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Definition/to_lock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2526b1af2aea7111e9d1f430827495f826c06fb6 GIT binary patch literal 115 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDant|$xqH!QgABGOUX$sva)hXP0P&7 zEXmBzQ-(^qS#cMXCgo%%=UYib4Dn4Y$}TMcs?AR>%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty|#x3yK0bSlkD$w@7;vT{i+2q?<0s8qJK zb+h6wC{4=AOwPBGhG_InEXpn|04mB)F3nBND`B(Zb|^?JDk+X;FffQ_i)L4n#xy9k UFvmXMnw`y>Bbq^pLnB`k0B1ibe*gdg literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/__platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/__platform-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..982d69d7dd190b3107e46556e72da8336a316c76 GIT binary patch literal 108 zcmZSK2({u5a>-A&vT`gbDT?OKWKiOdk1xncEJ@2R%2iTyD$PsDNiDLna!D-+D9W#> xR7R3z3$o%aC{4=AOwPBGhM3};Sd?8_092lzT$-DjSHfn+?NE?dR8kzx002*DBU%6e literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/cdesc-DepProxy.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/cdesc-DepProxy.ri new file mode 100644 index 0000000000000000000000000000000000000000..064005e38e657aa4b19db56133ce30247f1d481e GIT binary patch literal 282 zcmX|*O-sZu5Qck@Hf`NqLD-A8{ERG%i|*AA7Chw;(qy#JG|A>e?Z0=bAOpk9!~4!V z7vzO)Pe-p9d-QRV_TI{r_}Wx-b%gL7{r60_cg1N7k+FZ&KMn7ovS&Ac<_8%+NRFwb# literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/dep-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/dep-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..afaf5436f9b0cc7721b95cc7ed6c4c26c2b40a2f GIT binary patch literal 94 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNrNi9&4aw^SB$w@7;vT{i+2q?<0s8j|Cvjtgk q7nCODWG3fZNkjDcCKhFv768@dCzs}?=9REnaXS-A&vU1F;^i3_v$WMvp&ty~LOfAf@SCV!r%}dEiEwZw5Ni7H{%CD$Y z28p{_aTk;(tvM>7~0L^CLHXyj`G E04Hi8cmMzZ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/hash-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..567152e9ad9adee2027bfa55efc40bfdf0a3f48e GIT binary patch literal 107 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%t$QGP?B~k%}dEiEwZw5Ni7H{%CD$Y z28p{_aTk;(tvM>7~0L^CL{YiI%h D7nLDS literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/method_missing-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/method_missing-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0b324fb4990379dfa96207b157492645aa30ba72 GIT binary patch literal 133 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)&IPmMb2E#JGxO4wRGmumQgTv@tgKv8 z3j&JrD=L*yRk&I46clBaC6=V-TS-Gq^i3?vE-e7+$WJcKP0cG|v*LCrNGvKTj%F}0 Qh-OgY(a=gPN-x#~0IQcQCjbBd literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..bb97899898837c1972d2a49333953ac10efb1994 GIT binary patch literal 119 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(l6ET1OUX$sva)hXEeI&euc)-L z0*Z%NaTk;(tvM>7~0L^CLfXr!bT Q=qMEAB$lM*7v*XK0L5t~?*IS* literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/required_by-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/required_by-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..78d5fc2f933f1a8fa1e9343c47a6e975d788ae24 GIT binary patch literal 110 zcmZSK2({u5a>-A&vT`gbDT?OKWKa?)N-ZqSEJ{s@PpVW>aw^SB$w@7;vT{i+2q?<0 ys8mLlW(%_7E+|dP$xP0-l7^V$n^=@xS^!j^pIn-onpeVR#qCg#SX5FR%>V$aJ0wg1 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/to_s-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3606587f530bed381d5c80c527e8ecbb502da526 GIT binary patch literal 107 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEXj{AR+4rq%}dEiEwZw5Ni7H{%CD$Y z28p{_aTk;(tvM>7~0L^CL{YiI%h DAh98E literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/type-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DepProxy/type-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..379ccce69b65da14c52414618e7ae02b692458e4 GIT binary patch literal 107 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEU7F=Rg!ip%}dEiEwZw5Ni7H{%CD$Y z28p{_aTk;(tvM>7~0L^CL{YiI%h DC$Axj literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/autorequire-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/autorequire-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ee9cf484eeef0f8aa540c3970b9236f33c94e380 GIT binary patch literal 112 zcmZSK2({u5a>-A&vT`gbDT?OKWKa@FEG@||N-ZqSEJ{^UaVpJA$w@7;vT{i+NX<)0 z%}cISMpnQUWW`-jnv|27oNpx!G08WvD7&-(s3SkQG&eP`gw2ZEp&+rSq&S)Z0100u ANB{r; literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/cdesc-Dependency.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/cdesc-Dependency.ri new file mode 100644 index 0000000000000000000000000000000000000000..7ae5f206ad5d35e41d9309421ccacc21d2ef0965 GIT binary patch literal 420 zcmYjLO-}+b5anQ&WfxEkAtv7X54=hDP*I{6Q9|_8!=`jctaRJj4+#I>F1QJonRy?1 z^Dfd)JXy^($M{X#n#m{0oTEe0L6>tdpej)OfNmaxsw7y9&&cr$)aQi8x2L29v)f>z zqZJ32P}hO;D;}ABmx{+5`7cHD=s5R_vIE2B3jZ&NIcK zsZ^viLn9unjde>-A&vU1F;^i3_v$WMvp&ty{)OfD@dO3f>YPt7Z{S5kE<%}dEiEwZw5 zNi9gtOG(X3u2e==;bz5MP@0sJnVfGW4KdC)u_(K=0H`59xilAO5StaZLqTFuNpUoT Mfk8Bb61#>b04hQ#umAu6 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_platform%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/current_platform%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6e248899599aa2d4c5bb9070031e89b20f4ae0b7 GIT binary patch literal 135 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)OD-)cO3f>YFUUzONy{(FwO7(|D$PsD zNiDLna!D;n%}YtmORiMLQ08XET~L~olbM`vB@HpyH?b(Yv;e3pKe;p)Xe65zw?jc< RQAu$$gMmRbgA%)jCIBVGEb;&V literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/gem_platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/gem_platforms-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ed64b7e66a6abebab7e302f46aff2d1ee88fe9a9 GIT binary patch literal 142 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)N>9y=FUUzONy{(FEml%-A&vT`gbDT?OKWKiNxFUl`1C{~hpD$PsDNiDLna!D;n%}YtmORiLg v%CQAmaTk;(rurskEfS#diQBo>tvM>7Bba0MX} literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/jruby%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/jruby%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1159594203529c8d548227fa4b54608ab2357300 GIT binary patch literal 114 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L&MGQRs%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~L%q_~aSCVxq%}dEiEwZw5Ni9gtOG(X3 zu2crexLNTO6lInrmZaueNkjDeCKhFv764V|Czs}?=9REnaXSn literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_18%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_18%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e22ae1a020e298959f37ac87a8c034db3167a7c8 GIT binary patch literal 116 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$t}u^H?*)mLrn2aEXpn|04mN;F3nBND`B(Zb|^?JDk+X;FffQ_ JP-5561OPyhBkceH literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_19%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mri_19%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2ae10ec35eb16e4bd6eadd9fcea503c55ee9b1a3 GIT binary patch literal 116 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$t}u^H?*`@QgABGOUX$sva)hXElABv zNzF^HREA2rS@9GUWtJtDq~=>mLrn2aEXpn|04mN;F3nBND`B(Zb|^?JDk+X;FffQ_ JP-5561OP!EBkuqJ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mswin%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/mswin%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2e5ea73e37f809314411949da3d858034a9d7e34 GIT binary patch literal 114 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L&Mhv_%(GXLcPh%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~L$V)9(l65N0OUX$sva)hXElABvNzF^H zw6X%qgjjJGlqTh5Cg)p8Lv;Hl7G;+f02SsZm*%GCm9SZHI}{`ql@v!a7#Kt|C~0Wq kCFZ8;D3qlZ6=&w>=_uqElmO{s1zUycS{((oq?~L`0B#K}N&o-= literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/platforms-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..32bc1a682bb71f67d79f2b26062f7109c1bfba17 GIT binary patch literal 108 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNO$Vn_o%P-0;R#I{*%}dEiEwZw5Ni9gtOG(X3 yu2e=yvjtgk7nCODWG3fZNkdHWO)SbTEdZ*|PcF?(%`0KE;&v!VEGj9EW&i+N%p-^Z literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b6e608f4d0d13ace13b6f6ac239137be2eda90a1 GIT binary patch literal 112 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDk@E?v{#aID$PsDNiDLna!D;n%}Ytm zORiJ~OSxI`6clBaC6=V-TS-Gq@J%erE-e5m%}*}PP0cG|v*LCrNGvKTj%F}0h-Oe? H*U$t2-J&B+ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_18%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_18%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..465c7562e9b8eaee1d8ac31bc157c54763dfb80f GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEh@lQ6lInrmZaueNkh!>O)SbTEdZ*{PcF?(%`0KE;&v!VEGj9EW-u^_ KW>8|+&;$UYpd{k} literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_19%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/ruby_19%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..197e0c339cf15643179ea1b911ea3db0cb66111a GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEh@lQ6lInrmZaueNkh!>O)SbTEdZ*{PcF?(%`0KE;&v!VEGj9EW-u^_ KW>8|+&;$UZE+pju literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/should_include%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/should_include%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e21cc197be564d1b64c3f1912995a96f1a930b87 GIT binary patch literal 131 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DbC0*%}I&R%uCKGO-Z#^(r_xxOUX$s zva)hXElABvNzF^HR7O+eX2o4lnv|27oNpx!G1ND)D7&-(s3$+UG&eP`gw2ZEp&+rS Qq&S+vz#y7IiCsez07P^v1ONa4 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dependency/to_lock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f381af0d6a0f9e7b03ab31c769612562d1795fe8 GIT binary patch literal 115 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDant|$xqH!QgABGOUX$sva)hXElABv zNzF^HREA2rS#cMXCgo%%=UYib4Dn4Y$}TMcs?AR>%}vcKVYA|PC`c?SDUN0^FoWb}p%#c9q(M2V5c#&(5`jcOo1lwpEqOel&yw%ZZ)~!mf GdG!SWQ$Sh( literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_deprecated_options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/_deprecated_options-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4f1b02c22400d7871f4b3df0823954b822c27621 GIT binary patch literal 140 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}Qh)+o^C`wIEEJ;m?&o3y+%+D)UQgtfL zOUX$sva)h1&QZpq!p(}OpeVBps43q{8e*((Vo`Q!0Z>PNa%paAUJ08Ow?jc-A&vU1F;^i3_v$WMvp&ty{)iO-A&vU1F;^i3_v$WMvp&ty{)kI&05%1zA4tV)f~FDS{(&ns3^aVpJA z$w@7;vT`ZTQN~o@X2nxblv$QolA3QN4KdU=u_(K=0H`59ximL5uY}Et+o2$_sH8ZW e!N4GzK}kv@FEKY&N1-gWs2FI6jsnoGVod-605Z@3 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/cdesc-Dsl.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/cdesc-Dsl.ri new file mode 100644 index 0000000000000000000000000000000000000000..3bf6c579cb17ac77557352684cb01b30fecfddfe GIT binary patch literal 379 zcmYk2TT25m5QY07yJ@#wP>Kq^&CkfbSS^CkTB(G2*4Z=w?j7s1pGZl#t%8lA+3ok2BXL%2@hH(gU3+i?%m bTKAtPf3R-3Z{h0S#b1+)o9`}0eR4Sh{1tdj literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/deprecate-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/deprecate-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..9f2a4ce89a6d1246df2091cd18d2d372f280ecae GIT binary patch literal 187 zcmY+8JqyAx6h$2*6biZs4i*WS6dXD~5mdSsM0CpZOdhtFCLv7*|Gi%*IN!rLcbJ`F za;%&J*x7qcv2j|CTP8-Dd?1C9M6pj+8wvnbZvcM7338tMprV(RZ@6vE@&QGu BJqiE- literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/env-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/env-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..723da8707f8d5f35e37dc1051b1272ae9e349304 GIT binary patch literal 105 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNX;u#5_KxgOUX$sva)h1&QS)6xLI)* zlqTh5Cg)p8Lv;Bj7G;+f02SmXm*%GCm9SZHI}{`ql@v!a7$`ABGbnLu-A&vU1F;^i3_v$WMvp&ty~LO)X2zDNQU%Rg!ip%}dEiEwZw5DbBI7 zf{BM%aTk;(-qb1(} literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gem-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f1041a86a93c8c6a5a5251b6afc031de478ba1cb GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNKegG5_KxgOUX$sva)h1&QS)6xLI)* zlqTh5Cg)p8Lv;Bj7G;+f02SmXm*%GCm9SZHI}{`ql@v!a7#Kt|C<$rgCFZ8;C}<@X Ir59@g0B*V>C;$Ke literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gemspec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/gemspec-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bf92d0c2ffff49677f3008f47ffadf559486d1f2 GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNl(o!E=WyQl5{G~OUX$sva)h1&QXSn zx><1-lqTh5Cg)p8Lv;Hl7G;+f02SpYm*%GCm9SZHI}{`ql@v!a7#Kt|C<$uh7nBq$ L*ec{@=4b){s&^$v literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/git-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/git-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..af0cb498eef5fdf607f01dad3ab2f34df828aabf GIT binary patch literal 144 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNY5-$5_KxgOUX$sva)h1&QS)6xLI)* zlqTh5Cg)p8Lv;Bj7G;+f02SmXm*%GCm9SZHI}{`ql@v!a7#Kt|C>d*%7G>%vL?WFmlh?b#-j?VCFNvm0sy_BE+7B^ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/group-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/group-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..77684219d679f93e0755335bc4de643412547e7f GIT binary patch literal 116 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN-xSUEl?77D$PsDNiDLnaw*PH28+2_ zaTk;(tvM>7~GF+?*c32A607Nr;K LD5xdnWNQKdN$n%V literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..538d703c6a5a75055fe44a49dfb48c7076095c05 GIT binary patch literal 101 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(5_2leOUX$sva)h1&atur3WZp4 y7nCODWG3fZNkg>xCKhFv764V`Czs}?=9REnaXS-A&vU1F;^i3_v$WMvp&ty~LEJ!TLP!e-0%}dEiEwZw5Db7&_3AtHu z7nCODWG3fZNkjDcCKhFv764V`Czs}?=9REnaXSL?WFmlh?b#-j?VCFNvm0svjuFH!&i literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/platforms-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f96ecb7617403244126e2d84d9e056bed9dbfbe9 GIT binary patch literal 123 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LE67PKNy{(FEmo3tD$PsDNiDLnaw*PH zhKsvdaTk;(-A&vU1F;^i3_v$WMvp&ty{)DJo5>Oi#@%jxWwHElN&RQgkZKOUX$s zva)h1&QV5_b+h6rD9S8LEJ@9`l7<-Pn^=@xS^!j?pIn-onpeVR#qCg#SX5FR&0t^< M&7j1q0Wnw;08|bu&j0`b literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/source-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a0c866ed3825ab874335996e893f20be173b6c3f GIT binary patch literal 142 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LF3vA4N={Xha4OA9$w@7;vT`ZTQHBV* zS#cMXCgo%%=UYib^!g?iWtSEJ)#N9a=BDPAuvu|C6eJdv6h|`{D2ZgIDJ13OCuhf} gXO^Yr*+(-dNozn%(ox7SD9OyvD^{>osIJun0IxkRH~;_u literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/to_definition-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Dsl/to_definition-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c616e0a5a50f7a82bb57b3626a1aa2e99a6d2a18 GIT binary patch literal 136 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)D#?#eNlnYl%Ph&v&r_0jD$PsDNiDLn zaw*PHMv-%~;w~sn%E?U5w~~gK05Y3<@ Vu91_UoSl}Lld7Xong?QQ0s!}GEdl@l literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DslError/cdesc-DslError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/DslError/cdesc-DslError.ri new file mode 100644 index 0000000000000000000000000000000000000000..bb32803d5a8346486fa29d59e53e448d599fa4c1 GIT binary patch literal 196 zcmX|)F%QBZ5QRG!!PYi$>Eg!ExGqNPsDp_U6H*2u1#*DDUy6;nhJdyo1fqFM}VwGB~Nsd&B`=)#6w(VACZxAHo$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/cdesc-Environment.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/cdesc-Environment.ri new file mode 100644 index 0000000000000000000000000000000000000000..86e0f83b2723fff75bc1472a7d042a2c9197ebff GIT binary patch literal 302 zcmY+7yG{c!5Jk5@`%EH`5K@$GK4Z2)0ZKrMMCBrKyi=HLY-el-KA$mZpt9~6-+OM_ z4}91?dxQAq`K0HkS;weWwu0Licd_i-A&vU1F;^i3_v$WMvp&ty}QOfD@dO3f>YPf0CE%}YtmOU_I!R?>4S z%}dEiEwZw5%`3|+%FoLMDpAI!)Xj>!pfo8bGdbT%8e+b0Vo`Q!ft3}|vQm&XHY;w2 Tg2bYd;%Ei~gJ=dNb`4DctWq!) literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/dependencies-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..071460db30985f34a7c2fd61341fe38f8df53f0e GIT binary patch literal 126 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)Oi3+B%}YtmOU_I!R#I~+%}dEiEwZw5 z%`3|+%FoM9%_~txR^n#GT~L~olbM`vB@HppH?b(Yw7|*=Xm}||Ihz%?LqTFuNpUoT Mfk8Bb61#>b0Ag1uK>z>% literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/index-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/index-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8a45f35c36998acf41b0e37f3433fd072b5ef113 GIT binary patch literal 196 zcmY+8y$ZrG7yun47CX4ODH!6QE~TSmj?}j!N+5|Zw>uZ{%fHPj}mSa~5i|cMC!Y8+|*jvu9P`H#L QG6l9yNEyd@j|`TpH-A&vU1F;^i3_v$WMvp&ty~L$;>M*NKGzLQgkZKOUX$sva)i`E6Xg( z&&y5CD^Z5Zx><1-lqTh5Cg)p8Lrn2aEXpn|u(ARgSqf6gX2tDLkXTew9L->05Y3>( HuAvD4rYR*= literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/lock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..68868ed150ca0ea9513bc4f840211ac98e19a9af GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%*jvAR+4in%}dEiEwZw5%`3|+%FoM9 z%_~s`Nx4~Z7nCODWG3fZNkjDeCKhFv7FbyU4J!pHW3%FRC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~L$V)9(l5;A}OUX$sva)i`E6Xg(&&y5C zE3vWyN`+W)7nCODWG3fZNkg>zCKhFv7FbyU%_;>cW3%FRC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty{)DM~FYO)V}-O^GiqNKGzQ(sU}#OUX$s zva)i`E6Xg(&&y5CD^W&Mu_(K=z{(0}MJY%Jn-#Z1L1Ix! PaWsR0K{SIByM`tJr`9YN literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/root-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/root-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..328b23188c5870c2273bef99d1622ea0b5f20087 GIT binary patch literal 99 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNP%Fi!Rl5;A}OUX$sva)i`E6Xg(&&y5CD^UhZ su?1Oi7nCODWG3fZNkcUICKhFv7FbyUO)3Q`WV7OSC`c?SDUN0U00b%@?EnA( literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..02dc96125f092d56607bc7745bdd4dae7400c161 GIT binary patch literal 112 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDlSM(E>@CvD$PsDNiDLna?LBtEXvQz zP0cG&2FtlwaTk;(|v2BcT8Q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/update-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Environment/update-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..008b10971e244f8854ce5e1d4cd6b6a4d1f79471 GIT binary patch literal 119 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LE-gq&EJ;;Ta4OA9$w@7;vU1HU%Ph*z z%T3KIQHDsmS#cMXCgo%%=UYib%z=1 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/base-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/base-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..25a8e8ab92688a5da937532914be3a999a3ead01 GIT binary patch literal 97 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNvN-R!Ql5r}{OUX$sva)hd&GkslDM&3+21~F7 sS#cMXCgo%%=UYibwE89%WtSFMSpm%{%}vcKVYA|PC`c?SDUN0U0G9C{eE-A&vU1F;^i3_v$WMvp&ty~LODfIGNr_KS%~eu#D$PsDNiDLna!<|m zNX;ooEmDTdx><1-lqTh5Cg)p8L(K6_EXpn|u(ARgTAG`hSHfn+?NE?dR8kzxU|{vvC7%EQ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/built_gem_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/built_gem_path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..87e23fde5ab92b22c87852865fbb9faac8339f12 GIT binary patch literal 131 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)PAbjJDTz-{&5bWeEXhz(b1KbC$w@7; zvT{$&^+?SrNG(!ERpMsFS5TB+lA2tSnv!oN4KdU=u_(K=z{(0}LuqbmUJ08Ow?jc< RQAu$$gMmRbgA%)jCICr9D=z>5 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/cdesc-GemHelper.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/cdesc-GemHelper.ri new file mode 100644 index 0000000000000000000000000000000000000000..2f42fcfdcc411389c7a8180d987801c22aabae31 GIT binary patch literal 469 zcmYL_%}&EG5QK9;ZQ7)1N(BgU+s7~mDnNn@AXVa&gXK6&66z$De_HkJS*HbLS=t@% zj6dx~{K>Aj&x2&_eK4I+PfA!@WNif53wE!lG#a>h^nIn!F!rw{ALTbnH?X^t{Y{vi z*Njn?@340hmTa^z&K6M-7gLy(!XiwzRHij{R-@c3smVgcwQvo!5uGWCb2(y=k0sid zs+A;Ow!L*iDei>bS%`Z)(0iuM;0Oe(;AN>c?Or$x4J<}SFEJ3@$Hfe?(zmMO1OVwd z4)WjJpymb@5@{GA&#YL(I(S?VModT~P4o}2s9VRiw+-CZUYLptWl&T{;;U<{AU~<& zG|YO@AzaZmzi7|=&$=?cJdV*JXi9fw8-8eA!{tyR-A&vU1F;^i3_v$WMvp&ty~LPR>b9%(GXLb1KbC$w@7;vT{$&^+?Sr zNG(!^NV!?@6%^%{q$Zc7rsP{mLk#gvEXpn|u(AT0Sel!fSHfn+?NE?dR8kzxU|?8cBpUz# literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/gemspec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/gemspec-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a791b7dfc20b0d5fcd50e7541364d8c99ff65e8f GIT binary patch literal 103 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNsPt7eZNKICfcPh-A&vU1F;^i3_v$WMvp&ty~LP0uWeFDNa}P*QLz%}dEiEwZw5PtEm6 z%_&GNQie&oS@9JV<(H%;m!ziTTS-F<@=YwtE-kRK0-9Qyo0?a`X2tDLkXTew9L->0 L5Y3>(uAvD48UZF@ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_already_tagged-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_already_tagged-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..613715627567cd87d4695e54934188d7ba026bfd GIT binary patch literal 143 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QOfO9=N{LU*DN0RDsf;g4OixcuQPOcL z%}dEiEwZw5PtEm6%_&GNQpTpx&5Ey}D8D2%xg<3u-%1){fp20_c4>i?70|ZQ+|;}h XHY;w2g2bYd;%Ei~gJ=dNb`4DcuAeXQ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_clean-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/guard_clean-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4f546a8010ac7b8700c1519004bd8bf010368dc7 GIT binary patch literal 125 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)NH0w+N{LU-NlnaCQg$lMOUX$sva)hd z&GkslDM&3+Mv`~4;wvc1FG)=-A&vU1F;^i3_v$WMvp&ty~L$;>M*NzBPnl6NZ2OUX$sva)hd&Gksl zDM&3+hRV5FaTk;(05Y3>( HuAvD4JsKoA literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_gem-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6f530b0a7f3c6d617e48c2013841a6d3f1d9cceb GIT binary patch literal 122 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$jmD)NzBQKPfyKNQg$lMOUX$sva)hd z&GkslDM&3+Mv`~4;w~sn%E?U5w~~gK<(pWPU0Pse1vI!cH#M(>&5GNhAhD>VIGVx0 LAeupmT|*N9oTVpm literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_tasks-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/install_tasks-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..e9b4101c0e73956092ca2bfbf0b4b8113e0371fd GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b7ff1265ffa4ca6ea4e1a3f18cea120e46bbc451 GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%uCEoRg!Tk%}dEiEwZw5PtEm6%_&GN zQU*!5S@9JV<(H%;m!ziTTS-F<@J%erE-kRK0-9Euo0?a`X2tDLkXTew9L->05Y3>( HuAvD4t&<|v literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..7b696ec621276b1bcad33cf0bdb5b7297df2d618 GIT binary patch literal 123 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(l5r}{OUX$sva)hd&GkslDF88n z5+PRH1*J(jnaTN9(h$wQiAC9^1y)u-lS*?_^GevPxE%@-i%N>484L`f8I;5|k`jwk RbrkXvb5j*;74kB3GyztaCXWCB literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/perform_git_push-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/perform_git_push-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..38b2bea55570bed29d240059f5a83ad834e923da GIT binary patch literal 147 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)El4d&%P-1}PtPogFDNa}P||QJ%}dEi zEwZw5PtEm6%>gP-A&vU1F;^i3_v$WMvp&ty{)C`!#qO)O50PfyKNQg$lMOUX$sva)hd z&GkslDM&3+Mv`~4;w~sn%E?U5w~~gK<(pWPU0Pse1vI!cH#M(>&5GNhAhD>VIGVx0 LAeupmT|*N9k9#LY literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/rubygem_push-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/rubygem_push-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..35ce68f69e53ba0c0b42ef5e191927bd29479732 GIT binary patch literal 131 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)EGkW^Oi#^?FDNa}P*QO!%}dEiEwZw5 zPtEm6%_&GNQbtzbX2n-flwXpXT#}lSZzT;e&^NItyR^W{3TS$1Zfaf$n-#Z1L1Ix! TaWsR0K{SIBw?;u?Nrol>NxCbD literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/sh-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bc064fbaf60e447fdf43d168f4f1ab18e2451a80 GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty|#FV0Ysaw^SB$w@7;vT{$&^+?SrNG(z> z&TzBhD=5k@Nlh+EP06>ChG_OpEXpn|u(AT0RGOQbSHfn+?NE?dR8kzxU|-A&vU1F;^i3_v$WMvp&ty{)EY658&n(G^PtH$CRZ?*(%}dEiEwZw5 zPtEm6%_&GNQbtzbX2n-flwXpXT#}lSZzT;e&^NItyR^W{3TS$1Zfaf$n-#Z1L1Ix! aaWsR0K{SJskVbNDijIO>Qciwywk7~%IW0c` literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/spec_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/spec_path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..fdd0e7c7c50a1efa2a15abc0b4fbcb6dbf293c8a GIT binary patch literal 107 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNOE=Wy|FGwuOP*QX%%}dEiEwZw5PtEm6%_&GN xQbx$K1zB+ylqTh5Cg)p8Lk#gvEXpn|u(AT0Sel!fSHfn+?NE?dR8kzx000}`BEJ9t literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tag_version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/tag_version-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8c6867954212c9ab722858ab1d58250e1e50644d GIT binary patch literal 141 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C`n9@FH0>d&dkqKQg$lMOUX$sva)hd z&GkslDM&3+Mv`~4;wvc1FG)=-A&vU1F;^i3_v$WMvp&ty~LFG);KPfdw0&PY^Jaw^SB$w@7;vT{$& z^+?SrNG(!ENV{3_6%^%{q$Zc7rsP{mLk#mxEXpn|u(AT0T$-DjSHfn+?NE?dR8kzx NU|`bFC#?Vg literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..564b3c718eb8b5d61810e8fd0189130a624d0197 GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDN8LX&dkqKl6NZ2OUX$sva)hd&Gksl zDM&3+hRV5F@f8&1m!u|_q^9IsNkfeBO)SbTEwHiznpv8gnpeVR#qCg#SX5FR&0t^< K&7j1tp$P!T$R(u! literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version_tag-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemHelper/version_tag-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..edd0448ff74bfefe35f6527d835ac4d2f0080485 GIT binary patch literal 125 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C`&CW&dkq?FG);SQg$lMOUX$sva)hd z&GkslDM&3+Mv`~4;wvc1FG)=JIlf_7==4XQ}5uS@NM}8&TkgA7Io0U52p+g(-$eGNyx?DZ)-(4)44pSmtA0f z-WmyTGOiZtXv(ONPpX7YcUbRHS#+K*Hc^)f9l$SK8u;tbqi~OC0h*s!qYfzyS5~;- zdD4h*LT9_;RGbg_HDBlZ!mu=Dq^;=qQ~ZCk4j4!!yyqDwFtqWeD%s9qVx0*n1D0<) hvaWiHfZbK4eGpn=OR-A&vU1F;^i3_v$WMvp&ty~LNl(p7Ey_$*QgABGOUX$sva)hd&Gksl zDM&3UR)$KtS#cMXCgo%%=UYib4Dn4Y$}TOivI3e|nwy$e!e+(oP>@(uQXI`-U=Yoq J#Gz532>^iRB;ypP&~SayJOtLLg064UbS_?9vOV1$vulX}|8z6a3!*~@``^%=<2!kPyqb)(aSrvt zbBuu%lL#ZU662?m5vYB7X(jTJK;zLxDWdGhxb&z#Jjx-^m9imnDDv+@C( z`^hPQo1ymg Fd;uHDJ>&oY literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemfileNotFound/cdesc-GemfileNotFound.ri new file mode 100644 index 0000000000000000000000000000000000000000..ac9c818fdbf212d47e25a54dfad2ac5ced776e18 GIT binary patch literal 210 zcmZ9F%?iRW5QKXWQ>_*R@giRG7~6~Zd$I??Q%*5mA($p%llc6$wI>-EnEja9N&bM% z{p1ut?WmRJXk-YY)EQr2v3+TSwTl;*Y{Pel&J7a4KUt0BOytPH_BVKw^iCe2TTd<8 zIE7;GCB-1JQA{vCSHs6#FerR_8m&6Wp!DP-s))@H7oPM-M(hJ$Y8#@o3Psnd^8QxM I2A_-U3+E6(FaQ7m literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemspecError/cdesc-GemspecError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GemspecError/cdesc-GemspecError.ri new file mode 100644 index 0000000000000000000000000000000000000000..f34d1ec33fb2f32c49a3ee17b179595d6b9e7051 GIT binary patch literal 204 zcmY+7y$-@K41_x%Qd+3gg#orahPxns!~_EpQ>Ku5h)9#jNqBzR&;?mK={}#&i}DHE z$Jr@>yQ4vxlaV2aMi;!j;t)Kl3y~wfJ0{y3B!EBM&Nzo0?0;1^N$=zV#@;lbjZ3Hx zUQ!IAn1>0*E0uqhfqvjkY05t5A$rT{*FCm9-MZ E7b(O&`Tzg` literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GitError/cdesc-GitError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GitError/cdesc-GitError.ri new file mode 100644 index 0000000000000000000000000000000000000000..25d17a9b4d120497e15e33043081661ca7b11938 GIT binary patch literal 196 zcmX|)y$-@K41_x%Qd(Mxr3+gg!(9+RVuAsQDN{%@M5IaNI6OaXsF04vfTzWA4z&PyfH44bV`fqsxN2OZ?aaR_yV~j BIXulOpLwqgGl-HSwLIO&U`Zu z;s8(Ew`c%1F`czvc%8GFx{+*_N#nPizt%8#n*i>*?T;sGN`&V-w$|yVA^>&Nvkiqo z`+_=^tVVQ9aXCBe-nXCq$9~mscCllu<2R3!*O=R$P#jvUNAHYcQUv=;k13{DXvz*0 y=kSQhU39TmAtx^6qJy!D&`u~J+piQWX4!-|*eu1x{gE@irn`npCm6AM;{O3@FGn2! literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/groups-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a93bd6daa26b8f415035ff405b55d7eb8b4fe989 GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LPA|$YEhtu!aw^SB$w@7;vT`p8|+&;$Tf Ciy{61 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..798f7d91a755ea6fab66edda6cd1d46d8e6754a4 GIT binary patch literal 106 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(l5i@`OUX$sva)h7N-W5*vH}W* zSaBDWCgo%%=UYibH2NkMWtSFMSpiKc%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~L%F9nlEmo3rD$PsDNiDLnaxY3O$WR80 zx><1-lqTh5Cg)p8L-hJ47G;+fSXluLD$PyJD`B(Zb|^?JDk+X;FffQ_P-5561OW7G BAnpJF literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/populate-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/populate-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..92629402aba376e202f5dfb685c301ae125ed1fb GIT binary patch literal 113 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEyyn@%}FdtRg!Tk%}dEiEwZw5FG?)P zP=-mkS@9GUWtIVz@(uQXI`-U=Yoq#IB(U E03*mG6951J literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/viz-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Graph/viz-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e7e7f4a9d63be289c229824eebf439c9a34a11a5 GIT binary patch literal 178 zcmX|(JqyAx6h%8oDRgiV99&9W6dXD~5L85`E{ao!5R+FMOp}<8O8xa#MAviAJ)`6T zlha-^fUW9F^o{1#Sj2hKiB~?|1;r&=fTN|RnGfs$sR>spn1T)qWrwj!JFVoEhMfo*XSp?VM{u+PH5$_byid9eiKK7ilbsZvG@qW;wSpI FmTyo&Jplj! literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/cdesc-GraphNode.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/cdesc-GraphNode.ri new file mode 100644 index 0000000000000000000000000000000000000000..91acbbf8437a586874f7e01adfa98d46a7fb8035 GIT binary patch literal 303 zcmY+9O-sZu5Qck@wB4=+1@)kZB|l?&SwFy&>rxO8IY>4cHQFX2AM4+DvI-&t1Mf5Q z&c{*n1n1+OQve$mW;xwXGDgvxiudn&(Dg3%gR1`I#g*trFh#ESdcau@Hsj>J)p!dNgIv#athNTZ? YFB2BQkByB-A&vT`gbDT?OKWKa@JNi9gtOG(X3&P**Mv>37ZwSLqTFuNpUm-01itf ABme*a literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/is_user-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/is_user-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6279b7f3c23390689491d3f1a36828cf9310c3b4 GIT binary patch literal 104 zcmZSK2({u5a>-A&vT`gbDT?OKWKiPCERHWNPAyWBcPh@(uQXI_y0IL@vm;e9( literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7e28382beda82454a59a4defb3717f0c31ef4d95 GIT binary patch literal 97 zcmZSK2({u5a>-A&vT`gbDT?OKWKiPFOUzAGl5r}{OUX$sva)h7N-W6m%TGyF21~F7 sS#cMXCgo%%=UYibwE89%WtSFMSpm%{%}vcKVYA|PC`c?SDUN0U0Ge1HhyVZp literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/GraphNode/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..009766e868d04f1718130d9341caf21247874b84 GIT binary patch literal 120 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(l5r}{OUX$sva)h7N-W6m%TGzQ zvI0tkSaBDWCgo%%=UYibH2WqNWtSFMSpiKd%}vcKVYA|PC`c?SDUN0^Fo-A&vT`gbDT?OKWKiNMOD!tS%+FJjcPh-A&vU1F;^i3_v$WMvp&ty|#x3N(Yb1KbC$w@7;vhvJJNv%+}v2nBF zE+|dP$xP0-l7{H=O)SbTEwHiz8c~{?npeVR#qCg#SX5FR&0t^<&7j1sQCyIktO)>D Cy&qcu literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%3d%3d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3bb96a50e915124f5cf95a15d1cb9404904f0fcb GIT binary patch literal 101 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty|#x3yIgb1KbC$w@7;vhvJJNv%+}wRN-N zE+|dP$xP0-l7{H=O)SbTEwHiz8c~{?npeVR#qCg#SX5FR&0t^<&7j1gk*^5=`uiRr literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%5b%5d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/%5b%5d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..38340c1934c8ee9f89f39b095340f479e68afd0f GIT binary patch literal 105 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty|#kB(Imb1KbC$w@7;vhvJJNv%+hj&-x* zE+|dP$xP0-l7{H=O)SbTEwHiz8c~{?npeVR#qCg#SX5FR&0t^<&7j1iQCON-A&vU1F;^i3_v$WMvp&ty~LN-E9FNl}t=D$PsDNiDLn^2|#~t+28J z3x`;77nCODWG3fZNkcUICKhFv7FbyUO)AYz%`0KE;&v!VEGj9EW-w4<%Zz4FV%N|F E09i~SqW}N^ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/cdesc-Index.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/cdesc-Index.ri new file mode 100644 index 0000000000000000000000000000000000000000..3f506cb64d47b08b8683a9281645d161925e2c38 GIT binary patch literal 347 zcmYL_O;5ux42E|=P1la?Foc8<7ypcO6Nrxk2Zn^iDMFQ-8WBj7C?7!i^`sjT^1=3N zzkVbimCyY2>DEflch(Q6Z#0G=mTCsoz3J&2*4N4Onmp%+zJBc9Nk+@h54H#NAIWi^ zZ=``tEO>q8(8nNV`zQp1)t$*RkDVsl6h*`Ggk`;wds-f$M_B)> H!IAt0Z69nv literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/each-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/each-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7baa63a096a011d593c292ce48f87a3482801704 GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOifJAP?B&e%}dEiEwZxm%u7kFPzDLQ zS#cMXCgo%%=UYibbowS1WtSFMSpkhH%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~LPR%VSskB#;aw^SB$w@7;vhvJJNv%+Z z2)kKv7nCODWG3fZNkeq|CKhFv7FbyUjVjGe%`0KE;&v!VEGj9EW-u^_W>8|+&;$TH CG9jP< literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/initialize_copy-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/initialize_copy-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..43b9d4644bfa0b2921372f39c166cd7a1037ba8c GIT binary patch literal 127 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$;`_v$xO`2tV)ef&M&A`Qg$lMOUX$s zva<5bOG&LzMw555;w~sn%E?U5w~~gK=bKoRU0Pse1vI=gH#M(>&5GNhAhD>VIGVx0 MAeupmLnB`k0G(1P-T(jq literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..80112b6b1eda7043fa689b68ff06ba87ef5d4bb4 GIT binary patch literal 103 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(l5i@`OUX$sva<5bOG&M;vH}W* zSaBDWCgo%%=UYibH2NkMWtSFMSpiKc%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~LE>2A>O3qM{aw^SB$w@7;vhvJJNv%+Z z2)kKv7nCODWG3fZNkeq|CKhFv7FbyUjVjGe%`0KE;&v!VEGj9EW-u^_W{YN55<@d7 XIyT>$oz0pfnn8(2qp&o!s8SOEeU>Zp literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_dependency-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_dependency-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c19454749fd433773b9a653d6fcfd812def45fe5 GIT binary patch literal 147 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QEKW@Mv>37ZwSLqTFu SNpUoTfk8BblAs2{4ov`OO)=sC literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_spec-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_by_spec-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4053b783870f03bd8d2e325088962ab2a513b979 GIT binary patch literal 129 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)E>2A>O3sK+s*Eo#NKIB!aw^SB$w@7; zvhvJJNv%*um3Fh@DJaS;ODsvvw~~e!=bKoRU0Pse1vI-fH#M(>&5GNhAhD>VIGVx0 NAeupmTLWaSCIHp#Ds%t< literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_for_all_platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/search_for_all_platforms-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d6913d25bb92670f3ccfeb53e3f8fe03652f16cb GIT binary patch literal 165 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QEly1=O3sK+%P)#g%*lx_$Vn^#vU7`- zbeu}_QgTv@tgJlqQc^3FaVd1O;w~sn%E?U5w~~g~;G0;KU0Pse1+=a-H#M(>&5GNh nAhD>VIGVx0Aeuo*Mk6J)AQfn6UUH?5LQ-OJs)DUTbgU)-XQns~ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Index/sources-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c3dda7a9d3e8d4696451d0702f0e52920b074f1d GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDb6n~N=_|Sl6ET1OUX$sva<5bOG&Lz zhKjpcaTk;(-A&vU1F;^i3_v$WMvp&ty~LC@oG^5_c-iOUX$sva<5bOG&Lz28y{^ zaTk;(P((-~CqaBZE=59K&Ud~$_sc8H zFMF>6&Yqsi?yQPYR;DMaql-ydizF7?>~0JI{@m=~UWUATqDvl@UB*e#BL@Hu%&jnh z@g^urQTBdQ$U=j6-g$(Q+UrrmJJJ3gi>&gf})7FbQN{Dq*{b>G#ZOlx$y@ iY%D1|hQn4~kC<59(IK&+Zo0Q?e51}uH5TibauYv>fKC?x literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Installer/generate_bundler_executable_stubs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..49855903bb70a9a9e6d4e18ba28075089d7333d1 GIT binary patch literal 171 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty|lOHa*9ElMm&jZZ4gOUX$sichUbO)f1- zOv*`(FD@xfDps;|g2-4|dFB-A&vU1F;^i3_v$WMvp&ty~L$;>M*NzBPnQgABGOUX$sva<4oh=7<- z$q*~484L`f8I)8tit_VI dbQDrj(=ziiOEUBGbQJOnKy-A&vU1F;^i3_v$WMvp&ty~LC@RfUl6ET1OUX$sva<5bD=taQ0Wy_= z;%-*l1*J(jnaTN9(h$AAiAC9^1y)u-gGzH#^GevPxE%@-i%N>484L`f8I<@m@(W5b I^Ye-|0roT`H2?qr literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/InvalidOption/cdesc-InvalidOption.ri new file mode 100644 index 0000000000000000000000000000000000000000..7bb36e1f792664a83acc3806de5b29a08ad9e495 GIT binary patch literal 202 zcmY*Su?~VT6l5?KK^Pod*!mfd#V8IAYGUHl=~+57mbQ6q`F;Ui%q5rHUG8p`KVkpq zoCLTz8qk~!h9GL4@!iFaXmo$~Q9H|%!r;tJI$weij>KD27q(_Wu7QE6nM6^fTTHuA F)eQzRR-pg@ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/__materialize__-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/__materialize__-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..aa6ba0127e718e765e3bc0e47962d54d97d33360 GIT binary patch literal 138 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)iI2}sEJ-cOOw7rwN{x?K(swG&OUX$s zva<3?tf~wyNKMX6%S=uz$;{7FMpNr%#a&REl#`j9ZzT;e+c&W&yR^W{3TRPjZfaf$ Xn-#Z1L1Ix!aWsR0K{SIByM`tJsLw6& literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/cdesc-LazySpecification.ri new file mode 100644 index 0000000000000000000000000000000000000000..fc775a5e7661e2af2bc5a6ce6258f7f2df735699 GIT binary patch literal 392 zcmZXQO;5ux42F9^ZMW`&FYUqs$v-1KYyyr9&=BH~LzJa13rmwINr%|4#~s|b+3#b& zdhN6FjV(40PBHf6LMP3=kuma_&S3EUsN#DmixZ zYqyqR-+RW$yYJAZoK-6?LyA1(V_v{TgC1>zR%wioZ%7(h+2LwV)zllAS_*XPs_6Ql z5Q@z^vB?2Lq%?#wo|AC7mPzei{x)2l=XF7-AT(B|b4p&Y%J*BN70;ox_(j6Z2bU-@ zHp4KR_@ECm;n2WT+nA(P$Z54Mc?H)(bVP%eMjufKn6rK9_d%H jrK6TGNlqB2_AsI%lGA8#ug4VPs>8H%jp%fY+J5{1{@Hs6 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/dependencies-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..18d5a7d2e94eebbb8b7ce25f461e1982b938bdf4 GIT binary patch literal 121 zcmZSK2({u5a>-A&vT`gbDT?OKWKa@JNi9gtOG(X3&P**<(s3%yOUX$sva<3?tf~wy zNKMX6%S=uz$;{7FMp4KXWW`-jnv|27oNpx!G151&D7&=4$_i+HX>Mv>37ZwSLqTFu INpUm-0CoTh($ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/full_name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/full_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8cd97d57ddcd317282da71cc6e290d77aea66c0b GIT binary patch literal 126 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LODoOEiO);SO;yr#D$PsDNiDLn@=2_! z3@%7b&P>ZpPAtjH&r^o0aM698ECDJ1{^ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/method_missing-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/method_missing-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a3f1dd91f9e3c1f57f88c85efe1ae6bd05074c3b GIT binary patch literal 156 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)&IPmMb2E#JGxO4w^qflbQgTv@tgL(z zt15#FQj;^&GLsWaGV}A4QI)z`@e~wgmL-;?=37ZajP^||$}TOivI5#unwy$e!e+(o jP>@(uQXI`-U=YoqB&7i{LPtR>u_(P*M?ozqCtDK$MTIn6 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bf4391b68f6d306970d5c090e30b97a4b2db4372 GIT binary patch literal 105 zcmZSK2({u5a>-A&vT`gbDT?OKWKiPFOUzAGQgJHHOUX$sva<3?tf~wyNKMX6%S=uz z$;{7F1}k6-vf?f%P0Gnk&bN|=7~z{(lwDe2Wd$^^G&eP`gw2ZEp&+rSq&S)Z0L#@O A`2YX_ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..f94965151da3be15404a9b837bcfcb502742e79c GIT binary patch literal 152 zcmXBMy9&ZE6adf;QVJbh++0F%P{`2vf}rAP7avonnBLN0auf1U>epLvKb%GNfYtTv z6u^ ri-A&vT`gbDT?OKWKiNQ$Vn_o%P-1R(r_xxOUX$sva<3?tf~wyNKMX6 z%S=uz$;{7FhAUzVvf?f%P0Gnk&bN|=80DK-lwDe2Wd$_1G&eP`gw2ZEp&+rSq&S)Z E042XAi2wiq literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/respond_to%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/respond_to%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..861265a82a4443c2807b1b3e4d9220500f4290b9 GIT binary patch literal 135 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C`v6Z$j?iOFUhx8(snA%OUX$sva<3? ztf~wyNKMX6%S=uz$;{7FMpEZy#a&REl#`j9ZzT;e(>JjwyR^W{3TQ!TZfaf$n-#Z1 YL1Ix!aWsR0K{SIBkA_xaQF^f^0Q6=omjD0& literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/satisfies%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/satisfies%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0457485c1d8e2ffbed82bb9fe217f3689db90685 GIT binary patch literal 138 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LFHS7UEKbWzEw)$Eaw^SB$w@7;vhqo+ zsthhjP0mcqOa{v5=P4tUxmj@+lqTh5Cg)p8LrnBdEXpn|u(ARgUz(emSHfn+?NE?d bR8kzxU|-A&vT`gbDT?OKWKiNR&Mz%WPE}HKD$PsDNiDLn@=2_!3@%7b&P>Zp zPAtjH&r^mfVGjzo;w~sn%E?U5w~~gK&5GNhAhD>VIGO-A&vU1F;^i3_v$WMvp&ty~LDant|$xqH!Qg&5GNhAhD>V PIGVx0AeupmT|*N9p~xqZ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/to_s-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..57de04efb5f009d313c2c7f15cc6666b747077de GIT binary patch literal 116 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEXj{AR#I^)%}dEiEwZxmNvx_2E=Wzz zOv_A8EXmBzQwAw;v*Io&P0Gnk&bN|=nBtpQlwDe2Wd$^{G&eP`gw2ZEp&+rSq&S+v Mz#y7IiCsez0F^~09{>OV literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LazySpecification/version-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..56884e1937be3ed8210f9b3374f7139aac000e65 GIT binary patch literal 111 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNMOD!tS%+FI&cPhV$_ CbR@|D literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/cdesc-LockfileParser.ri new file mode 100644 index 0000000000000000000000000000000000000000..2fb46cba92f536f85f2354540aa33ba5328cbca2 GIT binary patch literal 366 zcmZ9H%TB{E5JkH{d6raF1shoTGn`F%WPwD}Dg`9uMddnE$<(zi+X3^b9J#&kbgRHo`frf0_a7jFp*JIF z#oe*9lp?h|fesPPmzKNW*@UGmCi507=oYk);7QbARanKt0T=Mg8OEtMof9yI%v%t{ z6(`xt`=;8OGK$I=aR{sLR@LsUYPL`7`rPBBe=G)>gvB(s-Cjw-B9dtM!lJOw1l$_h z9z&^Gss4;w^p Ar2qf` literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/dependencies-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..55a19fc44f7ce29fd0f5e8d07fe7f6728c3c15d1 GIT binary patch literal 118 zcmZSK2({u5a>-A&vT`gbDT?OKWKa@JNi9gtOG(X3&P**<(sU}#OUX$sva<5YPtH!u z%t;MMEGkYdQbtk57G%X;P@0sJnVfGW4KdF*u_(K=z{(0}cxi5GUJ08Ow?jc-A&vU1F;^i3_v$WMvp&ty~L$V)9(QgkZKOUX$sva<5YPtH!u%t;MM zEGh=^fwCc1+y$jcIho1%R?-j?d=rbZOAD;5fX0>PrskEfS#diQBo>tvM>7~0L^CMy KYve$U(F6buzb2{x literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_dependency-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_dependency-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c58a53f09341139ead7aba698555629a2e9e13e6 GIT binary patch literal 142 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)El4aXPK{4VElABvNzF^HRMK@S%}dEi zEwZxm$xqHs%gjj)04XU_Mpx-(#Zyp}S(aFmnr|fyG21t>D7&=4$_i*vX>Mv>37ZwS X15jH@aWsR0K{SIBw?-A&vU1F;^i3_v$WMvp&ty{)E=VjYPK__fNi0drFUnQYb}G$F$w@7; zvhvAK&Q8nBNeuugC{jjM=VrxIP?TAgSdyA=B@HpxH?b(Yw7|*=Xh~^qYF-JO6}JOW VQ%P|&gMmRbgA%t!PG(-JCIGNrE@A)x literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/parse_source-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7021fe527dc37bbb460632d0c6d56f74e8c14ca0 GIT binary patch literal 134 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)EJ!RWPK__lFD*(=Rnl}S%}dEiEwZxm z$xqHs%gjj)07(}qBdc<=;wdP~EK4j&&9{<-A&vU1F;^i3_v$WMvp&ty~LFGwsZPK_@vNKIB!cPh4npeVR#q9vpP*NPt RU|=ImD&_zH literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/platforms-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/platforms-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..83b6c3bf1f15358db63c9febdca9991bf975749e GIT binary patch literal 112 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNO$Vn_o%P-0;R#I~+%}dEiEwZxm$xqHs%gjj) zNGvK&EmB4(VGFY2E+|dP$xP0-l7^V%n^=@xT3}@bG`2K1HLrxtirb+ev8bdtngIa) CfF&aU literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/sources-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/sources-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a3bceadd2309cee7666df59fb1c7b2185ca3a777 GIT binary patch literal 108 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNM&Mz%WPAyhaaVpJA$w@7;vhvAK&Q8nBNexIW zDo!m@hAChRvf?f%P0Gnk&bN|=nBtpQlwDe2Wd$^{G&eP`gw2ZEp&+rSq&S)Z09K?U AcK`qY literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/LockfileParser/specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..849ea37f841ac88d80ca2ff3be6a02da853b2571 GIT binary patch literal 104 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNNE=Wx-R#I{*%}dEiEwZxm$xqHs%gjj)NGvK& yEmDR^vjtgk7nCODWG3fZNkdHVO)SbTEwHiz8dsW|npeVR#qCg#SX5FR%>V$bWg({k literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/cdesc-MatchPlatform.ri new file mode 100644 index 0000000000000000000000000000000000000000..915775c4946bba6970919ad6651f4b5cd1640133 GIT binary patch literal 232 zcmY+8KMTSz6vR77T3fB4gG0A`0_WF7M9`%of>Q>G=@W}-6Y|H;Z&F?4P4~Nd$4#;; ztS@^d08YyETsErp5?R?LblGqxo@dG3BUrTB`Jt6)0RH$!LG>+YxOsUE5ZZi?gCkIE zH8;+(WIV!Bx;S8eM5)nORTEOD!AS$ph2++&nx d&bz@nJ_w9ob;bx?^>Oe`{}u;2jmbJ^$p;VvMnC`n literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/match_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/MatchPlatform/match_platform-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4e154c3090c1a4a89cec9f77975a7d9623354b8a GIT binary patch literal 133 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)&P^;y&WJC_Ni0drFUnQYaw^SB$w@7; zvhoE<1VF`=QI)w_aTk;(0 M5Y3>(p;4d-0JOp^DF6Tf literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/PathError/cdesc-PathError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/PathError/cdesc-PathError.ri new file mode 100644 index 0000000000000000000000000000000000000000..db8b0d3fb439248ff8950b814e98d509b4a594cb GIT binary patch literal 198 zcmYL?%?iRW5QKXWQ(G-~(Sx@<#`Yrq92F5f<+P>&gJ}{riO+8v3$idU-_Fj?$_H%j zCno`}j(RjlgCU4U7reP)e4U9L@$Dhm&L{%-v-QMs!oluWazT104=^;QUfDQ@dhd~9 z5XCf1FkZ?0r4$TmpPoj`VacHJ-DSB9Xg-qkDEP{_NYW`ShE!XQw|0?t GC5kUbzd*(S literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/__swap__-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/__swap__-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c64630258f24fac530f44ed1cf141fe87d434fb8 GIT binary patch literal 314 zcmZ9Ize~hG5QQxy1cKOHr^T=~Dk4{}jUIB?97x0}MVRc)CChDgmi=+z{(EyLf?Ch_ z-uIaE@>4GAS5{KKxWk6hz`D6Kg}7+jIH7M_algt=TMAOvG;*R3Ps(hK!erRp{9tQY z`P^BfSYCbiZ7}SzmvS!8Be_(_>e*vRu_;(y|7G4WU?0#A#Z%do;%!9=b0ny9ci3|1 z2^2cV2|9ula!jNlG5ElHqY3tCjfVJpSQKk^YNiK*aM}$$jbI{Zo}6XWq#sV#4%Lp_ czc@_BTCtdQ$1nI<$2mPNm(7`|ZjYk7FA;!jmH+?% literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/_remote_specification-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/_remote_specification-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..60bfe6bc046e1a57217453c67e3d6284470670fb GIT binary patch literal 153 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QiZ4pd%`ZufFD^(;&P>ZpPAtjH&r>pY zD$PsDNiDLn3Ia<9Bg-md)#GNxQ&5yymRORSZzT<}$~UnnyR^W{3TSU>Zfaf$n-#Z1 TL1Ix!aWsR0K{SIByM`tJ30pLH literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/cdesc-RemoteSpecification.ri new file mode 100644 index 0000000000000000000000000000000000000000..66af1115b4fcebaca949f158a51e18ee80e6bb27 GIT binary patch literal 684 zcmZuv&2Q5%6z>5g?Xvd31VW61@ue5oAK+Xj;JS6nKpcFC9OtDmb8KTf&B|ZTa|Y5X zxaEEPzWnlH`Hj7+OTS9-1 zNXFxggdqI!im!N1S4Ip#vkE`gPK(&#@vdKC zRXio6dG#Hub4(fVZa7--3>zb7aG9d~hfg`kB@g-f?b(n;!YkDz9sQ)^on-sZD-f{IT!OH?E Y-qwEp*Xon2(u)CNZ`*oMAtY_XH3UUEjU; z-Fv6YH$2}x27~w@pIg>3*zU|#^?G16<9qa^Lr7EIv_-7vgt+4=D8EKFZg7Uw1-Uvl zKjA8t-a8ZU;+MUpbSM#VepDtFt#EZ8DQWJifS1Rf7fQ5G6vygr*)8h!nc1?1p64D6 zPO_5sc>~#rVbGC*k{MwlRZjU^5FoMeQJgu{ZJvu}utBaB`Y>M;XqYj^7yB>nc!3N7q(1god5s; literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/full_name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/full_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..048be774bb427eaaea19141ee844346d176f0410 GIT binary patch literal 128 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LODoOEiO);SO;yr%D$PsDNiDLn3QEn* zFG&q9NKMX6%S=uz$;{7FhO2Y4;w~sn%E?U5w~~gK=$lxSU0Pse1vI`iH#M(>&5GNh TAhD>VIGVx0AeupmT|*N9w`eKz literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/method_missing-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/method_missing-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ad08ff0b5cec4538f1bdc6b2c61806e550f8f33e GIT binary patch literal 158 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)&IPmMb2E#JGxO4w44g{yQgTv@tgM1k zbMs45g9}oVGt)AY6H7Al^OR8)yIJuR6lInrmZaueNka_xO)SbTEwHiz+EkjGnpeVR l#qCg#SX5FR&0t^<&7dTu0Wm^HK`XH+y;w&-A&vT`gbDT?OKWKiPFOUzAGQgbTJOUX$sva$+F&CM@K4K7Gc&P>Zp zPAtjH&r=2~VGFY2E+|dP$xP0-l7<-Kn^=@xT3}@bG_f={HLrxtirb+ev8bdtngIYA COCrYr literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..eafa56a6d71298f4e45384523e0dc76eed858776 GIT binary patch literal 152 zcmXBMu?oU45CG5)QVJbh++0EjQR&e6CKcB%Ri_RT(<=s(T)5^G|K5W8<1LCCthzH9 zfMfW!n4UEBOPg0kz)!U~Nf;b5K!=_ZULqPhTBDPt05Fp)lu;he8iMt|X*Itj0?em) p3@L~55H+W%&zh#ss{J--kF|OuPxDf%=yV#1eXS-EHh34dyC2S)GROb` literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/platform-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e453ef34de94c6992cd8b9fc7d985f90ce721cd7 GIT binary patch literal 115 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNQ$Vn_o%P-1R(sC-zOUX$sva$+F&CM@K4K7Gc z&P>ZpPAtjH&r^mgV+*q4E+|dP$xP0-l7<-On^=@xT3}@bG`Tc4HLrxtirb+ev8bdt GngIZL_9j;V literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/source-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..19bde1324411798c5f207cf7c8d9fd1b9937bfa4 GIT binary patch literal 112 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNR&Mz%WPF2!yD$PsDNiDLn3QEn*FG&q9NKMX6 z%S=uz$;{7FhALtY3b*1eC{4=AOwPBGhM44=Sd?8_U}Xg~wlp_2uY}Et+o2$_sH8ZW F0RZ!tB?ABe literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/RemoteSpecification/version-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c8a17f3b70a984cfef4cd6a61c0e1bcc15ecfd23 GIT binary patch literal 113 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNMOD!tS%+FKObSlkD$w@7;vIaS#cMXCgo%%=UYibjPgw^$}TOivI3f0nwy$e!e+(oP>@(uQXI_y E04XXZmjD0& literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/__dependencies-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6c924f83d348ace0438df289be4a1325c5e6c725 GIT binary patch literal 139 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)j*m}CElABvNzF^nOf6P2a4OA9$w@7; zvI05Y3>(uAvD4!2d1} literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/activate_platform-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c62bf4020b48883e4053c85662c51d04aa874ff0 GIT binary patch literal 152 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)OH3}wEK4j&jW5VaEJ@2R%2hIUD$PsD zNiDLn3Q8@`&nW}3f(ufU-HY-|3zRX`yIFA;lqTh5Cg)p8Lu~L(EXpn|u(ASLSDKre bSHfn+?NE?dR8kzxU|-A&vT`gbDT?OKWKiNuOfJbRODsuEQPOrQ%}dEiEwZu-N-fUMDFd;B z3sRHai}Fhglo9IKf~>d;N|SOjlk=^lA;$S87G;+fSXlwhF3nBND`B(Zb|^?JDk+X; F006K2CaM4c literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/cdesc-SpecGroup.ri new file mode 100644 index 0000000000000000000000000000000000000000..a33d8a1f86b75149de21280887f19f6e6023fc63 GIT binary patch literal 358 zcmYLFyG{c!5KMvYmE?j1N<+ndhOZzzq|iVSMCIb-_!h~+XPdPh6uzFl0HRs#b7pqV zs#mezJ$Nm|v!_wnd#hrUt(igl5>Ri+=K$At*$oy+h#f|64^#F(ZElIw(Tl4eoF_%^ zIS9d^c|?~AG2aA5Dax5FWeKg)$sAO|0g4^h=Y${G5DxwRxLNU1!Ohhc$49gQDf+G` zy7Kq9(I L1G)j7HW-A&vU1F;^i3_v$WMvp&ty~LOv^8_S5k8-%}dEiEwZu-N-fUMDFd;B z3sRHai}FhgltD_|thftGlX5bX^R1*I=J+NSWtSFMSpf|#%}vcKVYA|PC`c?SDUN0^ TFo-A&vU1F;^i3_v$WMvp&ty{)$;`_v$xO`2tV)ef&M&A`GIT105Y3>(p^>i%08O|rQUCw| literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..59258e01fa8f316e02b1d1f38552e081190253b9 GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%uCEoRZ?>*%}dEiEwZu-N-fUMDFd;B z3sRHai}FhgltD_|thftGlX5bX^R1*I=J+NSWtSFMSpf|#%}vcKVYA|PC`c?SDUN0^ MFo-A&vU1F;^i3_v$WMvp&ty~L$V)9(QgbTJOUX$sva$+FEzZv=1F?b& zQj^__@=FV>tbj^FthftGlX5bX^R1*I#`q={WrHMvW|ror=9REnaXS-A&vT`gbDT?OKWKa?)N-ZqSEJ{s@PpVYXbt=tE$w@7;vI-A&vU1F;^i3_v$WMvp&ty~LF3vA4N={YMa4OA9$w@7;vI8|+&;$UJIwx8H literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/to_s-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..097cfaf24398b56fb9b86f5e2b40953545a8af9e GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEXj{AR#I~+%}dEiEwZu-N-fUMDFd;B z3sRHai}FhgltD_|thftGlX5bX^R1*I=J+NSWtSFMSpf|#%}vcKVYA|PC`c?SDUN0^ MFo-A&vU1F;^i3_v$WMvp&ty~LEy<5BE=Wx-R?>1R%}dEiEwZu-N-fUM zDFd;Bfimtz`K1NQFlBC5+y$jcIho1%R?-mjd=rbZOAD;5fQFamrskEfS#diQBo>tv PM>7~0L^CL{YiI%hP24E_ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/SpecGroup/version-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8287ebe14a779f7899f98eed9799d49eb0465117 GIT binary patch literal 124 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDN8LX&dkqK(sU}#OUX$sva$+FEzZvY z3R_tP7o;Y;7v+~0C_`1bS#cMXCgo%%=UYibO!G}F$}TOivH}`inwy$e!e+(oP>@(u QQXI`-U=Yoq#IB(U0QY|=MgRZ+ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/cdesc-Resolver.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/cdesc-Resolver.ri new file mode 100644 index 0000000000000000000000000000000000000000..a680b32c7a7119bf46e08372fe59f2f29ed9aff6 GIT binary patch literal 353 zcmX|-%}&EG5QK9;Nl4lhAyFZ5+sAM&{2dEOkvRDfInFj196PM-BHkV+r9IBBXTDiq zsnVQ%mTR&*>9 zH`PSeM=tiWi>)S72jOuRuvW%-VI=aHQRjREmDDIqOZW{%k6jqxda2Ql=$sf3t_B>> z;)H?Qf8J~iig3OMN{52v2NaP(9yTsW8B^5$7jEJoIb}^Nt=Y%kKH@LuN_D}LKX;#R A$^ZZW literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/clean_req-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/clean_req-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..93ce37cbbf4e93d890e746524689baeb1e0956f4 GIT binary patch literal 120 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOU_A6%!@BdEmTr)D$PsDNiDLn3Q8@` z&nZhSQie;qS#cMXCgo%%=UYibjPXq@$}TOivI3e}nwy$e!e+(oP>@(uQXI`-U=Yoq K#H9f=QxgC*HYUaZ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/debug-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/debug-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8d8f40b566e6507748bdabc9e1b3718db19ddcbb GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN=Z#BO;?g}D$PsDNiDLn3Q8@`&nZhS zQU*)7S#cMXCgo%%=UYibwEHF&WtSFMSpm%|%}vcKVYA|PC`c?SDUN0^P-2K?P-556 F1OSYVA|C(% literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/error_message-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/error_message-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5ed96217f401c4ad5b53931c214ac2fe7b05be48 GIT binary patch literal 125 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)N-ZkNFN)7iEiO(>PgPQJD$PsDNiDLn z3Q8@`&nZhSQbtkWX2o4lnv|27oNpx!G0r!!D7&=4$_i+9X>Mv>37ZwSLqTFuNpUoT Mfk8Bb61#>b07T3w3jhEB literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/errors-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/errors-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1a92a8dc9f2c2f5cb7df62f8835d07cf7f814fa8 GIT binary patch literal 100 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNxEh@?{DprzpD$PsDNiDLn3Q8@`&nZhSQijT~ t1zB+ylqTh5Cg)p8Lv;Hl7G;+fSXlv$D$PyJD`B(Zb|^?JDk+X;001mjAYA|e literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/gem_message-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/gem_message-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6ee1b5d16fbeadc737a6922276bb25c5735287ec GIT binary patch literal 234 zcmY++F>3-r5QgCtVG%46LOLymO=BR1^`wa+7J?vx)fHiKH`!Zqx3ihs_2R$xf{oVi z_dWNc13vFpQX($GY0IgWs(A3mK00ncTkbk?Z0$0Ks$oUkb0^J__2nwBaUAnk<4eKG zh1!z-Ix$`z1{3c$tlI!ypIZFH)~NKaQ?^vN(tYCo45ky-|UtD kwKs_BLjuVO`kE5(AC;*&K|e(3Rf3z(i#z)?yE?s|0SRnS4*&oF literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..605fbe758070767c9d425e6299b58636894c5a93 GIT binary patch literal 138 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(l6ET1OUX$sva$+FEzZv=1F?YO zAy(W4rAaxN$@x~&5WT*MMcJhVR#rfRN^?{5O4zKp9SRbQN{XWy3=EYx15bXhF^9A9f5)vRWG6xD;Rh4?Pp_Hl+Dzy})fy)XZuXmDIb?n9Vri~E) zo!O>=gd8kcesAXa&6_*TuY7xO>=ftk?feYm#1&ajH(1wWaAt<=`B7yHgP!xj;)QOv z*pPS1DmPj={&dmfO!~{J~2^&GSXh2YKvPJ{K>k@ zPbdrOmhiU085-TgXrKkStr_CynPtwCGyti^WldJ(Md#Cx5Qo6 z9bl}y4NlxkM325F?kC~_+pbj?yK<0PZECH*n)@fCn@pG4tjQ{ADeR?mk%ANt#iI?^ z-_Yk2!?bphumpe|D`yN+JpVSLL=`{>YF7Udi(NRUo$yyWU<&lBHEeG$+hXr_JpQb- i$9i8w3YwPXI)&gWukgnz25;fl?-X(wkgnPHSAPH+x)XK) literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b52c119fc61980d8d7e9fa343a5a6a9fd2b44f73 GIT binary patch literal 128 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDM~HQ&nZh)l5;A}OUX$sva$+-h!iP9 zrQEEz3rdr6GL!SIq#;K5CKhFv7FbyU%`44K%`0KE;&v!VEGj9EW-u^_W>6B-C`v6X R)=@}IF3BuQEJ;n#1ORwkDeeFO literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve_requirement-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/resolve_requirement-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8598919b67e4721158b067e52762753ef258d150 GIT binary patch literal 177 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QC`v8P&nZidFG?*e%`8gIP0cG&(sC-z zOUX$sva$+-$QCJMQRZgFT~L~olbM`vB@Hp!H?b(Yw7|*=Xiq7~AT}#*hl0eSlHzCv o1A}M=C4G(Jg4E>r^rHOI0v!b;8^N4n9fic?lFYKilGGGU07hFqzW@LL literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/search-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/search-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..be7a667b6e9307b56d502c990dbd9d5601f6c1e7 GIT binary patch literal 114 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LE>2A>O3qM{bt=tE$w@7;vI-A&vU1F;^i3_v$WMvp&ty~LDlSPZDp8VgD$PsDNiDLn3Q8@`&nZhS zQU*)7S#cMXCgo%%=UYibwEHF&WtSFMSpm%|%}vcKVYA|PC;%E!9L->05Y3>(tx=R( HSgZ*E5Gy1) literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/successify-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Resolver/successify-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1136b5ff9201569b570a2da1661dc700a0f3cdcb GIT binary patch literal 128 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LFD^|^PAx9ZOsiB<1-lqTh5Cg)p8Lk#jwEXpn|u(AT0TAG`hSHfn+?NE?dR8kzxU|-A&vU1F;^i3_v$WMvp&ty{)ElVvb&dkq?PtMOv%gIbGQBrp*%}dEi zEwZu-N-fUM0m>_*t8ug9E+|a`s?N8Ph8XIbSd?8_U}Xigp)@x&uY}Et+o2$_sH8ZW N!N4GzL5W>M699AQE297a literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cache-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8ab02dd318d599d6f6c8ae8c94cd34cfb0c45c02 GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN={79NL7+{D$PsDNiDLn3M$Pj$;?ev z28+8{aTk;(-A&vU1F;^i3_v$WMvp&ty~LPfkqENR2N@EXhz(a4OA9$w@7;vI;8A zE6L1FRYpjmLk#jwEXpn|u(AT0TAG`hSHfn+?NE?dR8kzxU|=iSCN}^8 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cdesc-Runtime.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/cdesc-Runtime.ri new file mode 100644 index 0000000000000000000000000000000000000000..f78909aedfc720823e2bb5937911b2ddfea0638b GIT binary patch literal 322 zcmYL^!A`?45JY=GaY#d{km!Y*KVx&LfCw%i)Cvj7hsfAl#UioI+V1z`q(HT&o!NQX zxhUUZvwL(3;MLJ6hlfFiAXa9<>s_+ZjL2{Alhp$fz@M^i?a`34BiiWT?v#I#^p!k7 zhNa0UV7c{@Vi1cwg-A&vU1F;^i3_v$WMvp&ty{)O-U_C%}YtmOU_I!j!(-kQc`m&%}dEi zEwZu-D$Og&%uQ8BSK?;HT~L~olbM`vB@HptH?b(Yw7|*=XhCUiYF-JO6}Lk{Vo^zP VG=qUbG=mbKhE{q}erZ9mCIDTmEwKOq literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/prune_cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/prune_cache-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..dc37845c6f49bcaae916b71ce32569bd982e0794 GIT binary patch literal 120 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C@3n;ON~!XOwLGEQgkZKOUX$sva$*) z%`3^wO;tvcb+h6wC{4=AOwPBGhM44=Sd?8_U}Xg~wlp_2uY}Et+o2$_sH8ZW!N4Gz JL5W>M697p4Cbj?o literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/require-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Runtime/require-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9fcb999ea2b3b0731f828bf3500e2789cba2d27f GIT binary patch literal 119 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDM~FY%`8e)l65N0OUX$sva$*)%`3^w zO;v`-A&vU1F;^i3_v$WMvp&ty~LDo!maEl`qnD$PsDNiDLn3M$Pj$;?ev z28+8{aTk;(-A&vU1F;^i3_v$WMvp&ty{)D^4vbEr?IeE6Xg(&&y5CD^XH+D$PsD zNiDLn3M$Pj$;?ev#!%yC#Zyp}S(aFmnr|fyG1fP+D7&=4$_i*lDaaT$D{hB^#G;bo OXa)m=Xa*&A4NU;?RV>c{ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d%3d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0e22570a8b3589b096745a717cc9d31f878d48c7 GIT binary patch literal 115 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~Lh>o>Yl5#4|OUX$sva$+JEh)*&OD|Ri z3cFcx7nCODWG3fZNkg>yCKhFv7FbyU%_+@I%`0KE;&v!VEGj9EW-u^_W>6B;$WE=) MQ7B8yDNWS`00599zyJUM literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/%5b%5d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b8e414da30de85fa98d3dda0f06edd9212fa3e90 GIT binary patch literal 106 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty|#kB(K6bSlkD$w@7;vI-A&vU1F;^i3_v$WMvp&ty~LNX*Gml5#4|OUX$sva$+JEh)*&OD|Ri z3cFcx7nCODWG3fZNkg>yCKhFv7FbyU%_+@I%`0KE;&v!VEGj9EW-u^_W>8|+&;$U? C)*y@k literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/allow_sudo%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/allow_sudo%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..cd171ace883be1788777888a8aa25306117760a9 GIT binary patch literal 121 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)NX*H}FOM%SP06=cQgSNIOUX$sva$+J zEh)*&OD|SNl6JG=E+|dP$xP0-l7<-Nn^=@xT3}@bG`BQ2HLrxtirb+ev8bdtn!&&z Knn8(OLlXdWNGBQq literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/cdesc-Settings.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/cdesc-Settings.ri new file mode 100644 index 0000000000000000000000000000000000000000..e8d6f91424c09bac666c92756f59fdfa8f3dbf94 GIT binary patch literal 354 zcmY+9O=|)%5QaSzcXicz+8%nFpAnIkw%4}M(o>Knn;kWEOhPhI{P)eO2xVZHulISG zyYffWUvEwe@!`T=(JQGK<;)CV`i;!SZX(n#$##T6h})?8Y=2R+6OR}1y9&GHg~+6| zN6SM|J$n^6%E2`XS-@DI>7^`0DC>0URb8^Qfrp`S<)gd7x%*biQ#@PrXuXqc!5BZ~0b5N8pHftB) zJ|Z_8a;+km91U+>VwhfwW%e5N{)@33!NcXO(ax^Trdb<8nC$R$=G46x{onQIy#E8| C$Z_8Q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/delete-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/delete-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b843c1cf3cb404e590d6a873414a4ef1f0170a1a GIT binary patch literal 114 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LPD#y4ElE|9bt=tE$w@7;vI-A&vU1F;^i3_v$WMvp&ty{)PtVCuO3aB*&d*EBOpi~?%t=+!bSlkD z$w@7;vI-A&vU1F;^i3_v$WMvp&ty~L$xf||Ps=Y-l5;A}OUX$sva$+JEh)*& zOD|T2O1W9_6clBaC6=V-TS-IA@J%erE-kRK0vcGFo0?a`X2tDLkXTew9L->05Y3>( Jr2*8d2>`tRCCLB) literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/local_config_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/local_config_file-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..07237a800d2080e75b177b8c04de1ab2b825d4b9 GIT binary patch literal 134 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%gIkp%!yCV&r8cpk59|YNmbHtD$PsD zNiDLn3QjF4$;?YHR>n}|X2nxblv$QolA3QN4Kdd@u_(K=z{(0}Noj6sUJ08Ow?jc< RQAu$$gMmRbgA%)jCIIBgEO7t; literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/locations-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/locations-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5332a9d1be8655920f1efa7c68ff1d00d90f852e GIT binary patch literal 120 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%gIkpEXmBzD^^l)D$PsDNiDLn3QjF4 z$;?YHR)$NuS#cMXCgo%%=UYibjPXq@$}TOivI3e}nwy$e!e+(oP>@(uQXI`-U=Yoq L#HEp)TB!*DNCGDc literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..bc7521b4de86d5c5dded7b18ebc45c64894f33b2 GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(l6ET1OUX$sva$+JEh)*&OE0#v z0*Z%NaTk;(!c7`a zpcz}?e8~wy_t)77CvqojL56is*gDpj3Vlw|TvX24_^_HRrsvIQKW8Ue78rC!6G^R8 Y=#*DanNhq;N2jafpB+WK!fO4&3n=?UrT_o{ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/pretty_values_for-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/pretty_values_for-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..31f34df7ea4ab6efa2dd3c8a4b54d2f262e2a987 GIT binary patch literal 144 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)D=11WDXEMvOUx-vEsjsiFH+KQD$PsD zNiDLn3IX7;w~sn%E?U5w~~e!>zi1VU0Pse1+=3yH#M(>&5GNhAhD>V aIGVx0Aeuo*NF%kPAip>@B|bZ~QWF67lrdWX literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_global-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/set_global-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b06fc1b33fd9a7d80bb2a0348a0bc879582fb278 GIT binary patch literal 129 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LFHS9qPtVCuO3YDGbSlkD$w@7;vI<1-lqTh5Cg)p8Lk#jwEXpn|u(AT0TAG`hSHfn+?NE?dR8kzxU|-A&vU1F;^i3_v$WMvp&ty~LDNZek&rYpWl5;A}OUX$sva$+JEh)*& zOD|T2O1W9_6clBaC6=V-TS-IA@J%erE-kRK0vcGFo0?a`X2tDLkXTew9L->05Y3<@ cs{u4pN1-e+r!-YZAtSLkLq{PkGbdFO0MJ7$D*ylh literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Settings/without%3d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..732b161939b1f94d1aafda15ac70a3cfccd58770 GIT binary patch literal 120 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEzbn9OG|8(-A&vU1F;^i3_v$WMvp&ty~LDbED5OG}jGoJ#Xja#D+|tb$WZN;31( zimOi?T}#tgL|MmFA}Am9SZHI}{`ql@v!a7#Kt|D6wm3 F0su34BuW4P literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/SourceIndex/cdesc-SourceIndex.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/SourceIndex/cdesc-SourceIndex.ri new file mode 100644 index 0000000000000000000000000000000000000000..2c5bc8a89f56f2fa18d41ddcfc5134d7649bba6c GIT binary patch literal 215 zcmZ9FF$=;l5QRI4saCs*gIjmO`MQV*>QD#8DN{@i45mrAB;wDvtxj@q@V$HY-YCDp z^0Idl;OwXsrg176hCSuk2O}^+mjD0& literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/Gem/cdesc-Gem.ri new file mode 100644 index 0000000000000000000000000000000000000000..0bad12cb2128c7b3a3130b445d7ded8a80fdf6e1 GIT binary patch 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*oAQfDi*q8Hx~t2g|W9)XK%S&UOX=9w!J8*PK6l8Wirm$p~U;D|Y>IR0QS;FaSlieaOxr5a<8+t>@cs!Cq0H1Lwt- z2XJY|7xzI?ilP!TQM1)M3=+LEU|4;4E3^`I;d6~DM$w3xFG6n7>M_BWfqVj;z)ayq zAbU~?#(-T~7n5=t#;#o>8n!mjsf-A&vU1F;^i3_v$WMvp&ty{)NzO@4%!|*-PfUp~NG!=v(snA%OUX$s zva$-!NGwWC@kq@nNG&Q>MpNfz#Zyp}S(aFmnr|fyG1xb;D7&=4$_i*pX>Mv>37ZwS ULqTFuNpUoTfk8Bb61#>b00rqRsQ>@~ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cripple_rubygems-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/cripple_rubygems-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..73891550ad3a96f3bfdb737111f5e1153651348d GIT binary patch literal 142 zcmZSK2(=Oka>-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{)Nl8shEX^s2PfyKF%gjkt(snA%OUX$s zva$-!NGwWC@kq@nNG&Q>MpNfz#a&REl#`j9ZzT;e*Eg{!yR^W{3TR1bZfaf$n-#Z1 TL1Ix!aWsR0K{SIByM`tJ+F&e7 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_lockfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/default_lockfile-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5446c6eca38e30f2092a5b1159669f2f227419fb GIT binary patch literal 136 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)O-W5lEX^s2&&f~DPRqMv>37ZwS ULqTFuNpUoTfk8Bb61#>b07h0VEC2ui literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/find_gemfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/find_gemfile-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6e87fafcb72160340cc616de1187bfa6e60506b5 GIT binary patch literal 129 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)Ov}tmiBC_>P0P$lRnl-O%}dEiEwZu- z&PXguP4P(0DM&3URz_CjX2nxblv$QolA3QN4KdO;u_(K=z{(0}eraxMUJ08Ow?jc< RQAu$$gMmRbgA%)jCIH)zDmefE literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ccbf743e1692c815dbe6a8dbb2aab9d08a8bc0da GIT binary patch literal 112 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNKegGl6NZ2OUX$sva$-!NGwWC@kq@n zNG&Q>2Fkfv@e~wgmL-;?=37Za4Dd}X$}TOivI3e`nwy$e!e+(oP>@(uQXI`-U=Yoq J#G#?32>{j#BN6}r literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem_loaded-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/gem_loaded-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c913c307d6467c24715c7e1d9917595e4b48994c GIT binary patch literal 114 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNyPtA?b$xlp4O;J*FD$PsDNiDLn3eHF@N=@-d z%_&GNDpp2P!X6ZE#a&REl#`j9ZzT;e%QvwoyR^W{3TSX?Zfaf$n-#Z1L1Ix!aWn$} DD>o%# literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/in_bundle%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SharedHelpers/in_bundle%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..549f349b1b48e2ec13ad9a6fadadafea9b3fbc43 GIT binary patch literal 124 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L&&-QYD$PsDNwrr}a{@DptgM1F5{pt( zJW_KCQj3a}5lY;wxC=^?ax#-A&vU1F;^i3_v$WMvp&ty|lDoQO&EhD6=fFBsJek8e*w$Vo`Q! hft3}|1*N&Ec_nOC+zthaMJ2`23-A&vU1F;^i3_v$WMvp&ty|#x3yK0aVpJA$w@7;vI@>GElN(cvU1NX zQMR>pv*Io&P0Gnk&bN|===Du3$}TOivH}`Znwy$e!e+(oP>@(uQXI`-U=Yoq#G#R| F2>{3zAU6O2 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/allow_git_ops%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/allow_git_ops%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d5eb9a02398b49fcc42768d58b3c4446849c9411 GIT binary patch literal 131 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)PRz;4FON^pEQ!xAD7IJ9a4OA9$w@7; zvI@>GElN(cvU1NXQASndX2nxblv$QolA3QN4KdU=u_(K=z{(0}LuqbmUJ08Ow?jc< RQAu$$gMmRbgA%)jCIB!DD$D=? literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/base_name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/base_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f17705db123cee60d249a3ef53b9013acaa468e6 GIT binary patch literal 121 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOG+$Gjn7NWO;u8MD$PsDNiDLn3eGPr zN=~)1a?dPLhReHI@e~wgmL-;?=37ZajPgw^$}TOivI3f0nwy$e!e+(oP>@(uQXI`- MU=Yoq#IB(U07_vdlmGw# literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..591b11abc9ec84321789bfb2c85b61e4e15747e3 GIT binary patch literal 113 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN={79NL7+|D$PsDNiDLn3eGPrN=~)1 za?dPL2Ftlw@e~wgmL-;?=37ZajPOk?$}TOivI3e{nwy$e!e+(oP>@(uQXI`-U=Yoq I#IB(U0O*AyJ^%m! literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cache_path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c75422dda46390057646f6f24283db2c3e442905 GIT binary patch literal 123 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LPfkqENR2N@EXhz(aVpJA$w@7;vI@>G zElN(cvU1NXQAQ|mv*IZz$}CGPNzJ#Ch8X6XSd?8_U}Xg~ximL5uY}Et+o2$_sH8ZW N!N4GzL5W>M69A*6Ctv^o literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cached%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cached%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4c3bc19572d2569420127e69ea65e3088502129a GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNlr}8NKLU@lQ6lInrmZaueNkfeBO)SbTEwHiznpv8gnpeVR#qCg#SX5FR&0t^< K&7j1tp$PzcSR{x5 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cdesc-Git.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/cdesc-Git.ri new file mode 100644 index 0000000000000000000000000000000000000000..507250ca3ebbef5051f36a1e7d44c19598618167 GIT binary patch literal 492 zcmY*VOG^VW5bi;`yY03G6`^=?env`ZQNfcU6;C;YG@ErpvpX@57XQ7oTNNaSe2>gG zlex&>+0E_|6=N^xTWKGx41v$h2=XTrVR@gr%4*Np8z!$bW4&6u%Ge;gJr_Ppe@Koo zN=dEm;+RdhPWl-5h!;GA5?wUd1sLy$Xs?nDlypGUB;uL4auL`VsCZwCEeHCj1hvq_ubw zA0`TPVFUBM3|b6X6D3unVKH1{2rdU)ZD2-@I$(;BQz-A&vU1F;^i3_v$WMvp&ty~LP0mP7&dx6_QBra$%}dEiEwZu-&Mz%W zPPMXf&n!`fNxNC`6clBaC6=V-TS-F<@=YwtE-kRK0-9Qyo0?a`X2tDLkXTew9L->0 L5Y3>(uAvD41N0^c literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/eql%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/eql%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..aaee9219bfda08e795421c986f845a54fec2683e GIT binary patch literal 146 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOfAf@SCVro%}dEiEwZu-&Mz%WPPMXf z&n!^}Nx4~Z7nCODWG3fZNkjDeCKhFv7FbyU4J*w}%`0KE;&v!VEGj9EW-u^_W{YN5 XlEG@4t!=(FJDW8}G=ma{M!qHh3I8lA literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/from_lock-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/from_lock-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..475da636d2dbbb5ace7ab863abcaddd77b7f300d GIT binary patch literal 128 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LODoFHjnBzX&Q?-!D$PsDNiDLn3eGPr zN=~)1a?dQWvVtoJvEnW$P0Gnk&bN|=80DK-lwDe2Wd$_1G&eP`gw2ZEp&+rSq&S+v Tz#y7IiBBWHpd>RtuUHcRb>b<^ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/git-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/git-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..527bc3e483930bb18df195eb34e4245d90f0a387 GIT binary patch literal 116 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNY5-$l65N0OUX$sva$-!FD*(=wX$;0 zEKvr^xLNTO6lInrmZaueNkg>zCKhFv7FbyU%__}J%`0KE;&v!VEGj9EW-u^_W>DhO NNY2mAP0UNt1OQK4B)|Xw literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/has_revision_cached%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/has_revision_cached%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..57ded12eac935f29f0f1e467177d25cba7b64880 GIT binary patch literal 143 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}Q%t$PbFG?-TEY8f&i%(8W&PYwMSJHDT z%}dEiEwZu-&Mz%WPPMXf&n!{Krqs=fr=TdaEU_dt-%1){fp20_c4>i?70|ZQ+|;}h XHY;w2g2bYd;%Ei~gJ=dNb`4DcjTA3* literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/in_cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/in_cache-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..137d07c7eb8daa4d7645bc676bca63e7f90bcaa4 GIT binary patch literal 123 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L&CH8WPE5{7RZ?;)%}dEiEwZu-&Mz%W zPPMXf&n!`fNxNC`6clBaC6=V-TS-F<@=YwtE-kRK0-9Qyo0?a`X2tDLkXTew9L->0 P5Y3>(t)Z5bldTB=hAJl$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/install-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..016937c9f3c7cc1bb29336c53d9f92a842253342 GIT binary patch literal 120 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$;>M*NzBPnQgkZKOUX$sva$-!FD*(= zwX$;0EK!Eax><1-lqTh5Cg)p8Lrn2aEXpn|u(ARgS(=-gSHfn+?NE?dR8kzxU|=`-CVBt> literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/load_spec_files-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/load_spec_files-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6b4342e712bafb1bbf9f25ff813e41c6571669d9 GIT binary patch literal 132 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$;nSli7zflO^#2?%tNu_(K=z{(0}MQLtoUJ08Ow?jc< RQAu$$gMmRbgA%)jCIDYPD-A&vU1F;^i3_v$WMvp&ty~L%uCEoRg!Zm%}dEiEwZu-&Mz%WPPMXf z&n!^}Nx4~Z7nCODWG3fZNkjDeCKhFv7FbyU4J*w}%`0KE;&v!VEGj9EW-u^_W>8|+ G&;$T=nj#qh literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..05032812e6cefd4a0265ff85307556b263099270 GIT binary patch literal 116 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(l5;A}OUX$sva$-!FD*(=wX$;0 zEU~fzN`+W)7nCODWG3fZNkg>zCKhFv7FbyU%__}J%`0KE;&v!VEGj9EW-u^_W>DhO N$S)|#%+D*<1OQFYB-{W1 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/options-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..74114d766498ec99be41265578ba02996f20fef4 GIT binary patch literal 105 zcmZSK2({u5a>-A&vT`gbDT?OKWKiPCFDS{(&ns3^bSlkD$w@7;vI@>GElN(cvU1NX xQHIH~1zB+ylqTh5Cg)p8LyYiEEXpn|u(AT0SDKreSHfn+?NE?dR8kzx007YoA@=|P literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8c231919e6acc0d30caf7dab996f2fb269c24b05 GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEJ!TLP?B>h%}dEiEwZu-&Mz%WPPMXf z&n!^}Nx4~Z7nCODWG3fZNkjDeCKhFv7FbyU4J*w}%`0KE;&v!VEGj9EW-u^_W>8|+ G&;$T{2qG~6 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/ref-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/ref-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..33a84f0b8532c82f45355b4de75503efdb3980f8 GIT binary patch literal 97 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNLN=;Lebt=tE$w@7;vI@>GElN(cvU1NXQ3lDd t1zB+ylqTh5Cg)p8L$vxP7G;+fSXlwhDa}pID`B(Zb|^?JDk+X;0053|9#H@Q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/revision-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/revision-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..68981a04a53de480f0679e1bb30c6ca7238f64f6 GIT binary patch literal 119 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LElMrREY8f&Q&Ms&%}dEiEwZu-&Mz%W zPPMXf&n!`fNxNC`6clBaC6=V-TS-F<@=YwtE-kRK0-9Qyo0?a`X2tDLkXTew9L->0 L5Y3>(uAvD46HO*M literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_display-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_display-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..20474a06df3a466fb6977a544ef9d60b5edb2a74 GIT binary patch literal 146 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QEY8R;Dk(}$i%-ihiciTbF33r&RMK-Q z%}dEiEwZu-&Mz%WPPMXf&n!{Krqs=fr=TdaEU_dt-%1){fp20_c4>i?70|ZQ+|;}h ZHY;w2g2bYd;%Ei~gJ=dNE)Ae{ngC+^F@yjB literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/shortref_for_path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e1563fafa5a8c5927d0ae9526d8828d7093872e1 GIT binary patch literal 140 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)E6&I-Dk(}$i%-ihiZ4hk$xzaED$PsD zNiDLn3eGPrN=~)1a?dPL#!%;G#Zyp}S(aFmnr|fyG1@n=D7&=4$_i*tX>Mv>37ZwS WLqTFuNpUoTfk8Bb5|;+hB254ffiCO- literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c06584fb027a09ff13d35ff06df61095e96c878a GIT binary patch literal 175 zcmY+7JqyAx6aXD07CX4ODH!6STj%GZQgkX6Kc-C2*U$!I6VhbpzgOzye8=55dBFUd zTLL(=eW5~QD>>6lOgpEj6RTrvE2BKX%|=fO;H<-XU?)gjd>Ty_7QaG){uLd-Hy7Wk z4Ghw~LmxWHEG++>3wo?Qx`yo%$;A3z<|S~X5Yd>P6H=pitpgukStdtfve|wBQ;j#u literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/submodules-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/submodules-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b4b2790d6489fa1eb5a4eb2edcc6304319afc710 GIT binary patch literal 111 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNSE=|hKPbtkwEml%-D$PsDNiDLn3eGPrN=~)1 za?dPLMpD2QWW`-jnv|27oNpx!F~~QuD7&=4$_i*|X>Mv>37ZwSLqTFuNpUm-0K)_% AYXATM literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_lock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7aa2fea9aac898a1495909bda5b85cd261c84e59 GIT binary patch literal 116 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDant|$xqH!QgkZKOUX$sva$-!FD*(= zwX$;0EK!Eax><1-lqTh5Cg)p8Lrn2aEXpn|u(ARgS(=-gSHfn+?NE?dR8kzxU|^WOB(nej literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/to_s-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d50719a9017dadc5ddf2ab6a2e59f99d756c84c2 GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEXj{AR+4in%}dEiEwZu-&Mz%WPPMXf z&n!^}Nx4~Z7nCODWG3fZNkjDeCKhFv7FbyU4J*w}%`0KE;&v!VEGj9EW-u^_W>8|+ G&;$U0W+FiV literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/unlock%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/unlock%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..575dcc1d2a31b59b9f9dd1aa902c24f0251dbc19 GIT binary patch literal 116 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDb35tPtI0UQgkZKOUX$sva$-!FD*(= zwX$;0EK!Eax><1-lqTh5Cg)p8Lrn2aEXpn|u(ARgS(=-gSHfn+?NE?dR8kzxU|@HyBsTy6 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..82094b80f824cb237be3812510e5e5d541b4a441 GIT binary patch literal 97 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNLEy`4qbt=tE$w@7;vI@>GElN(cvU1NXQ3lDd t1zB+ylqTh5Cg)p8L$vxP7G;+fSXlwhDa}pID`B(Zb|^?JDk+X;005Vw9(Mo$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri_hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Git/uri_hash-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9fe2c4c6120420794e286290d220ece27e2af620 GIT binary patch literal 119 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEiKB7&qyrJP*QR#%}dEiEwZu-&Mz%W zPPMXf&n!`fNxNC`6clBaC6=V-TS-F<@=YwtE-kRK0-9Qyo0?a`X2tDLkXTew9L->0 L5Y3>(uAvD41A8U{ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/%3d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/%3d%3d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4621032a3b79a0e7e0fc745cdcd4f2ca012e0d7c GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty|#x3yK0bt=tE$w@7;vI@>GElN(cvIj9y!DG zxHbY{Z(PIGO7XU3g-mF%)vf1Bp`-I<&~;n@P9`{k00-`G06)cKgUuf{F#Ck=xVr}n z5F0{++NY2&EO)+T$#*iA(Sdlk5|%-3L#3o(DJ2@8ktnP)9)-s`8ZsDKCm-Bn2k1z4 cFKU4-T1yg5<11=(@qVeKj$FUfl>?T%0QFZ#r2qf` literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/generate_bin-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/generate_bin-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..40d3763b6eec4529f0a94c65b7c1322796d3ac17 GIT binary patch literal 138 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)Oi#^AElMm&jZezVQ!;WY%}dEiEwZu- z&Mz%WPPMWMNG!>)vhvI;E=kM*N+=^MceCOyC{4=AOwPBGhM4V}Sd?8_U}Xigs5Cb< ZuY}Et+o2$_sH8ZW!N4GzL5W>M6993cEkpnS literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/Installer/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..d323535b42ed3e281b078fe8ff075800e6a0a1d2 GIT binary patch literal 139 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9((sC-zOUX$sva$-!FD*(=wXzCG zEXlC4^2{qPNz4ID0F{MUaTk;(05Y3<@sZm^znyjOcUr>^npI5A4t59952>>tZEb0IN literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cache-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cache-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a3283e1f2f4274298a4ef66b84d7be571fe76105 GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN={79NL5mBD$PsDNiDLn3eGPrN=~)1 z3P>!;PzFo7S#cMXCgo%%=UYibjPOk?$}TOivI3e{nwy$e!e+(oP>@(uQXI`-U=Yoq M#H~?WkeaLs0C-m<+5i9m literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cached%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cached%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..127d2d11fe81e83efdfa4044b6bf02cd330589e1 GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNlr}8NKH{xQgSNIOUX$sva$-!FD*(= zwXzCGEXh!YO1oKc7nCODWG3fZNkfeBO)SbTEwHiznpv8gnpeVR#qCg#SX5FR&0t^< K&7j1tp$PzJ>LfV; literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cdesc-Path.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/cdesc-Path.ri new file mode 100644 index 0000000000000000000000000000000000000000..f08a2885d27a01744e771c3e8f7d2cb6f5a3a663 GIT binary patch literal 417 zcmXX?O;f@!5arZ5pGtrsSbqC6(I0gs6r%D!j9V>YtwUe%Jo@xhsuEqntvD-|7z1O85%0UZE6RDI?0lTa?A2R_Nh^ zLWSxP|G#VIu%YZJ47+z8vS9wIr8Ia-OuH8Ouv_#KH9G25>}w4Zhf0L{ghlr?ze#C+ AH~;_u literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/eql%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/eql%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..625ea1b71a8074426c288d7a96c0f2195eb645be GIT binary patch literal 148 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOfAf@SCV%s%}dEiEwZu-&Mz%WPPMWM zNG!=v2FbZuaTk;(05X~0N Yt|W`yI9uC%Yj!qkj%WrY4vl-A&vU1F;^i3_v$WMvp&ty~LODoFHjnBzX&Q?-&D$PsDNiDLn3eGPr zN=~)13P>!;u(E=y2(jWWC{4=AOwPBGhM47>Sd?8_U}Xg~xHLC4uY}Et+o2$_sH8ZW U!N4GzL5WWzzn~;DKd)F50H!-CHUIzs literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/generate_bin-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/generate_bin-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d87852c4e6f1fae24a4c74dd1965c9d18d8005df GIT binary patch literal 132 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)Oi#^AElMm&jZezVQ&M*-%}dEiEwZu- z&Mz%WPPMWMNG!=vMpoly#Zyp}Sq9XRZzT;e(KoRuyR^W{3TS+3Zfaf$n-#Z1L1Ix! TaWsR0K{SIBw?=V6YO*E(N7^ex literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/hash-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6055ea96a9d5bcee71d2e2327c505741ffd4e341 GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%t$QGP?C2l%}dEiEwZu-&Mz%WPPMWM zNG!=v2FbZuaTk;(05Y3>( HuAvD4pX(xt literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/install-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7a23b42416d472512bda785ef3e0fccb4972ea13 GIT binary patch literal 121 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$;>M*NzBPnQgSNIOUX$sva$-!FD*(= zwXzCGEXh!YO1oKc7nCODWG3fZNkfeBO)SbTEwHiznpv8gnpeVR#qCg#SX5FR&0t^< O&7j1sQCyIktO)=~H74W$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/load_spec_files-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/load_spec_files-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..364592912f55f08433467f965253cf44be801b9b GIT binary patch literal 133 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$;nSli7zflO^#2?%t-A&vU1F;^i3_v$WMvp&ty{)$jMJm%!w~9NKGzQQgbTJOUX$sva$-! zFD*(=wXzCGEXhztQsQRCT~L~olbM`vB@HpoH?b(Yw7|*=Xm)9CYF-JO6}Lk{Vo^zP fG=qUbG+Q*gk^**9!B*y5v$I)qL^CL{YiI%hQ28`b literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..54c63775a78f89175f46b186ebd7f693b32e8691 GIT binary patch literal 184 zcmY+6y$ZrG5P%&dR66(o3LbU!0pwg%+(amfICQ!uR~yb^J5^1 zW2HQ<|DBSA-a?^OhpbY?{%V~8-vB{Ny4yjWA~-A&vU1F;^i3_v$WMvp&ty~L$V)9(l6NZ2OUX$sva$-!FD*(=wXzCG zEXlC40?LJ0aTk;(-A&vT`gbDT?OKWKiPCFDS{(&ns3^aw^SB$w@7;vI@>GElN(cvIV%S5+Y#$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..124679258830adcba8f54730bcf8cc2947ac2d79 GIT binary patch literal 100 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNPNG!=vl6NZ2OUX$sva$-!FD*(=wXzBT3M+%< u*n+IM3rdr6GL!SIq#?R}6N|D-3#_bwMwRBK=9REnaXS-A&vU1F;^i3_v$WMvp&ty{)DoV{sEXgcOjW0+n$xza8D$PsDNiDLn z3eGPrN=~)13IGZ#qbPE-;wdP~EK4j&&9{< literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/remote%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/remote%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5ccb52b569a6e513c500b4ceea7a1809d61539e7 GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDN4=FFG*EYQgSNIOUX$sva$-!FD*(= zwXzCGEXh!YO1oKc7nCODWG3fZNkfeBO)SbTEwHiznpv8gnpeVR#qCg#SX5FR&0t^< K&7j1tp$Pznx+I|h literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b23322e1afa3c4834f1c7e21ed56c534d72ae49c GIT binary patch literal 113 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDlSM(E>==-D$PsDNiDLn3eGPrN=~)1 z3P>!;PzFo7S#cMXCgo%%=UYibjPOk?$}TOivI3e{nwy$e!e+(oP>@(uQXI`-U=Yoq I#IB(U0R4g^e*gdg literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_lock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0d5bbb3c11f5b86bacd65ce7fc6ae928eb22ac6f GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDant|$xqH!QgSNIOUX$sva$-!FD*(= zwXzCGEXh!YO1oKc7nCODWG3fZNkfeBO)SbTEwHiznpv8gnpeVR#qCg#SX5FR&0t^< K&7j1tp$Pz}MkO5p literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/to_s-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2250e6a801562aac2ef8c813dbe3e690edbd9a20 GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEXj{AR+4ur%}dEiEwZu-&Mz%WPPMWM zNG!=v2FbZuaTk;(05Y3>( HuAvD4sY@cO literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/version-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Path/version-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b370686dcedf2fce3f8d453a2b4a25f3a415b1ad GIT binary patch literal 107 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNMOD!tS%+FI&aw^SB$w@7;vI@>GElN(cvIG+aTk;(-A&vU1F;^i3_v$WMvp&ty|#x3yJLbSlkD$w@7;vI@>GElN(cvI;6q zs!UJKEmpR*b+h6wC{4=AOwPBGh8W-A&vU1F;^i3_v$WMvp&ty~LPfSUPFG|hLFG*F>bSlkD$w@7;vI@>G zElN(cvI;6qs!UJKEmlUTa-A&vU1F;^i3_v$WMvp&ty~LN={79NL5mCD$PsDNiDLn3eGPrN=~)1 z3Mx&iOi#@%Rt76@v*Io&P0Gnk&bN|=7~`8*lwDe2Wd$^|G&eP`gw2ZEp&+rSq&S+v Qz#y7IiCd$%AT?PN05I+*p8x;= literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3f68b193349f8e27f8e52b150be27a93c0a4dfcc GIT binary patch literal 121 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LNlr}8NKH{xQgbTJOUX$sva$-!FD*(= zwXzB-O{z>!%`H}jDsi*oE+|dP$xP0-l7<-Nn^=@xT3}@bG`BQ2HLrxtirb+ev8bdt On!&&znn8(OLlXcX8zue# literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_gem-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_gem-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..887f42ae20a3e0e9fa028f88701aef591da19480 GIT binary patch literal 132 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LPfkqENKJ`PPt8@*bSlkD$w@7;vI@>G zElN(cvI;6qsszduDmLrnBdEXpn|u(ARgUz(emSHfn+?NE?d VR8kzxU|>_pD;@v< literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cached_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..24f89c3f1cf45ba9bc411aec8e06565650bd2f88 GIT binary patch literal 132 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)OioPBNKJ_^E=Wx-R?>DV%}dEiEwZu- z&Mz%WPPMWMDov_PPt7e>Mpox$#Zyp}S(aFmnr|fyG1WJ*D7&=4$_i*jX>Mv>37ZwS ULqTFuNpUoTfk8Bb61#>b09~#tJpcdz literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cdesc-Rubygems.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/cdesc-Rubygems.ri new file mode 100644 index 0000000000000000000000000000000000000000..09c86f884350d5224b2ce41905e973c2c51d7675 GIT binary patch literal 545 zcmY*W!A`?44CR2@b?XL0z=5G@^Jiq5K(H$e4LIdcWr?>I(xfCQ6MQ{sQ;<*&vHkp> zpXKA;E4kdPG$-Uyo07?U$*iTL;s}PDdi%A<(!%tvRzjj7xvMsSeK|=Lva3!0hB3p?Yj zoruPe8Z5O#3(}4heq98|d%Q@f?zz*&NbVL`pa- z(d@BfT1XTtJyTb%(8~U-A&vU1F;^i3_v$WMvp&ty}QO35$J%gIkniBC_>jZZ7e&y6oF%2YCO zD$PsDNiDLn3eGPrN=~)13Mx&i1S%<3#;U>1il?9`vn;VBHQ!1aVvlcPQFdv8l@-v^ k(%jU%5;iMthl0eSlHzCv1A}M=B>|1%g4ARk1)z1B04UWqSpWb4 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/eql%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/eql%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7ffa1b8e6c8f3d80f16a0a04304003c9324aab8b GIT binary patch literal 156 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOfAf@S5kH=%}dEiEwZu-&Mz%WPPMWM zDov_PPt7e>2FbfwaTk;(0 c5X~0NuB3?DNL$-{Yj!qkj%WrY4vl-A&vU1F;^i3_v$WMvp&ty~LN=q$C&QMZuD$PsDNiDLn3eGPrN=~)1 z3Mx&iOi#@%Rt76@v*Io&P0Gnk&bN|=7~`8*lwDe2Wd$^|G&eP`gw2ZEp&+rSq&S+v Qz#y7IiCd$%AT?PN06r!r%K!iX literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_all_remote_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_all_remote_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1d1a4e075a90fa47d7e707ef84775adfa89adbed GIT binary patch literal 156 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QPD?FG&WKOU$%!vY&CM@KjV~@pO)ge4 zbt=tE$w@7;vI@>GElN(cvI;6qs!UJKEmp>^!_A7PpeVB}u_QI$N*ZF5Z(>n)X@Qj$ i(Av`6)VvZlD{hB^#G;boXa)m=Xa*&24Yj14Y)t@!pEVu; literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/fetch_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..632649554e51937a8d66a47ba58ccbac0debc562 GIT binary patch literal 130 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)NJ}kA&WJBANKGzQ(sC-zOUX$sva$-! zFD*(=wXzB-O{z>!%`H|&Qs!pGQ&5yymRORSZzT;e(>JjwyR^W{3TQ!TZfaf$n-#Z1 TL1Ix!aWsR0K{SIByM`tJ3u7vu literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/from_lock-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/from_lock-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..c29fa9bd80cf32e8272fa83e9822b90ae1d0244c GIT binary patch literal 133 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LODoFHjnBzX&Q{WND$PsDNiDLn3eGPr zN=~)13Mx&iOi#@%wz7h&3bEoYC{4=AOwPBGhM4D@Sd?8_U}Xg~yfim8uY}Et+o2$_ YsH8ZW!N4GzL5WWzzn~;DKd)F50CYYp`v3p{ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/hash-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b37771ed7692bc049b03eaa45e0b482af423dd29 GIT binary patch literal 115 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%t$QGP*Qd(%}dEiEwZu-&Mz%WPPMWM zDov_PPt7e>2FbfwaTk;(0 L5Y3>(uAvD4PGKZY literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/install-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/install-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a502e4665f67a8aedfa1ccea6149de701eb0bc6b GIT binary patch literal 125 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$;>M*NzBPnQgbTJOUX$sva$-!FD*(= zwXzB-O{z>!%`H}jDsi*oE+|dP$xP0-l7<-Nn^=@xT3}@bG`BQ2HLrxtirb+ev8bdt Sn!&&znn8(Mqqrb7SrY&Waww?) literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/installed_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/installed_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b7012f976db93d573fbdcd78b1123c7c0f314425 GIT binary patch literal 138 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$;>M*NzBPfO^GiqNKGzQ(sL@!OUX$s zva$-!FD*(=wXzB-O{z>!%`H|&Q|e~LQ&5yymRORSZzT;e+c&W&yR^W{3TRPjZfaf$ Xn-#Z1L1Ix!aWsR0K{SIByM`tJvJNg2 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/merge_remotes-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/merge_remotes-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..dc47fa7b90f13fdbb6f4f6107ca3fe36f315b7b9 GIT binary patch literal 139 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%1tdwPmM21&CM@KEmqQTD$PsDNiDLn z3eGPrN=~)13Mx&iOi#@%Rz^|iX2o4lnv|27oNpx!G1fP+D7&=4$_i*lX>Mv>37ZwS XLqTFuNpUoTfk8Bb60b%v*hEbLzs@d; literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/name-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6d42e6a10f5529106a2b90ccd8fa19d792fc92cf GIT binary patch literal 295 zcmY+9u};G<5I`AFTGXKn8w{sZLLgPB^RWOzFrcESh$)j}UlI$)7un~*e^1g(%y;+R zyUXa_ z-A&vU1F;^i3_v$WMvp&ty~L$V)9(Qg$lMOUX$sva$-!FD*(=wXzB- zO{z>!%`LXF0?LP2aTk;(0 X5Y3<@tdU<(l9``ZtYE89U8@NI`YkAh literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/normalize_uri-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/normalize_uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..11ac054fff68db1e8549e229eca625333fbd89f7 GIT binary patch literal 137 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)%F8dxP0Y!xN{ufq%2d*ED$PsDNiDLn z3eGPrN=~)13Mx&iOi#@%Rz^|iX2nxblv$QolA3QN4Kdd@u_(K=z{(0}Noj6sUJ08O Xw?jc-A&vU1F;^i3_v$WMvp&ty~L$uB6$%+D)UQgbTJOUX$sva$-!FD*(= zwXzB-O{z>!%`H}jDsi*oE+|dP$xP0-l7<-Nn^=@xT3}@bG`BQ2HLrxtirb+ev8bdt On!&&znn8(OLlXdWC?_NU literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6d6d3dab5662636d10f60e3423502f0ab4c91bee GIT binary patch literal 121 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDN4=FFG*EYQgbTJOUX$sva$-!FD*(= zwXzB-O{z>!%`H}jDsi*oE+|dP$xP0-l7<-Nn^=@xT3}@bG`BQ2HLrxtirb+ev8bdt On!&&znn8(OLlXc#yC!A; literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote_specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/remote_specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e35872426b0fa6589241418e4e384952d48e89d0 GIT binary patch literal 132 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)EK1GIFG-CrE=Wx-R?>DV%}dEiEwZu- z&Mz%WPPMWMDov_PPt7e>Mpox$#Zyp}S(aFmnr|fyG1WJ*D7&=4$_i*jX>Mv>37ZwS ULqTFuNpUoTfk8Bb61#>b0Dr-A&vT`gbDT?OKWKiNMO3lqLNi9}Vb1KbC$w@7;vI@>GElN(cvI;6q zs!UJKEmnppVGFY2E+|dP$xP0-l7^V$n^=@xT3}@bG_*7~HLrxtirb+ev8bdtngIZp C`Xmeh literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/specs-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/specs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b1d342c6060f13a5ba8dc89b96fa8ebe2ec4572e GIT binary patch literal 117 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDlSM(E>==;D$PsDNiDLn3eGPrN=~)1 z3Mx&iOi#@%Rt76@v*Io&P0Gnk&bN|=7~`8*lwDe2Wd$^|G&eP`gw2ZEp&+rSq&S+v Mz#y7IiCsez0I#hjL;wH) literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/sudo-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/sudo-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..86b380a55b80f1259623d3ccf7bfb074bbe490bd GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEG|vSS5kH=%}dEiEwZu-&Mz%WPPMWM zDov_PPt7e>2FbfwaTk;(0 O5Y3>(rBPf`qzM4bfF;-f literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_lock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0d51c2290532d1f0e6e6de2e229f513637208643 GIT binary patch literal 121 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDant|$xqH!QgbTJOUX$sva$-!FD*(= zwXzB-O{z>!%`H}jDsi*oE+|dP$xP0-l7<-Nn^=@xT3}@bG`BQ2HLrxtirb+ev8bdt On!&&znn8(OLlXdDKPKV; literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_s-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/Rubygems/to_s-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1e51e6a48abc5515924bef621ace1f20d47b7283 GIT binary patch literal 115 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEXj{AR#J8<%}dEiEwZu-&Mz%WPPMWM zDov_PPt7e>2FbfwaTk;(0 L5Y3>(uAvD4SOp|- literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/cdesc-Source.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/Source/cdesc-Source.ri new file mode 100644 index 0000000000000000000000000000000000000000..ed5f48df0689bb95714d5bf15550619ba3c6ed6e GIT binary patch literal 180 zcmXYou@1r@6h#?~)K)v0IJofzonIGYTV)Gm_kqk;B`iZ6jEhM*jm7G#!us9PwPZh&Ff_~n literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d%3d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..df1147cfacd0586987741652eee893265e1142bb GIT binary patch literal 114 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~Lh>o>Yl5{G~OUX$sva$*;NKFn-El~!F zx><1-lqTh5Cg)p8Lv;Ek7G;+fSXlv$Da}pID`B(Zb|^?JDk+X;FffQ_P!iP0POa2Y LC`-&KP1OVd$Z;bj literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/%5b%5d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3e1489ab726e79f16d5d808d49450ec83b046618 GIT binary patch literal 105 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty|#kB(K6a4OA9$w@7;vI;IpO%6^iQI3vv zv*Io&P0Gnk&bN|==<`i1$}TOivH}`Xnwy$e!e+(oP>@(uQXI`-U=Yoq#HEp)TB!*D Dp}-(H literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/cdesc-SpecSet.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/cdesc-SpecSet.ri new file mode 100644 index 0000000000000000000000000000000000000000..3181cafdbe2ef0749ac285fe1917fd369aceaa3e GIT binary patch literal 358 zcmYk1PfNrw5XJW(O}edH53Uz)^D$CH@y}5OtEaG(G#$6mG%0Dif}h@L7f}Yn@G|fB zW={Bb%hbOx07ov1|fcx?78_s9lf|bS|3&ToCYC? zGxg|VBC?x7g*eL9QcN;fzg9j(UnWV(NMukvI2sPBvG}LXgL+wkOD3{mYOK*R0q*dN zgv}6qq-1Pogvf_r4l3fpJ2h^M%4w8jEx9a!$sKUHyMh#z?ts7h0GUO%j~$%#-A&vU1F;^i3_v$WMvp&ty~LOifJAP?B;g%}dEiEwZu-E=WxdPAyRe z3A-A&vU1F;^i3_v$WMvp&ty~L&PmNnFUe4naVpJA$w@7;vI;IpO%6^i zQHDskS#cMXCgo%%=UYib^!p|jWtSFMSpf|z%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~L&dJZuE-g@!aVpJA$w@7;vI;IpO%6^i zQHDskS@9GUWtJtDq~=>mLk#duECTAVvI3e`nwy$e!e+(oP>@(uQXI`-U=Yoq#IB(U E0Lz6VHUIzs literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/materialize-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/materialize-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2278d6872533822dcd59f7e9da9689b04e86f827 GIT binary patch literal 145 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$W1IsEy_&H$*f9MQgkZKOUX$sva$*; zNKFn-Em202b+h6wC{4=AOwPBGhM44=Sd?8_U}Xg~wlp_2uY}Et+o2$_sH8ZW!N4Gz hK}kU)CAFYfM-A&vU1F;^i3_v$WMvp&ty~L%1tdwPgRn3D$PsDNiDLn3NA=Z4o)pm z28+8{aTk;(-A&vU1F;^i3_v$WMvp&ty~L$V)9(l5#4|OUX$sva$*;NKFn-EwQo! z3Wr#67nCODWG3fZNkg>yCKhFv7FbyU%_+@I%`0KE;&v!VEGj9EW-u^_W>DhMC-A&vU1F;^i3_v$WMvp&ty~LF3vA1Nlj6baVpJA$w@7;vI;IpO%6^i zQHDskS@9GUWtJtDq~=>mLk#duEXpn|u(AT0R+^idSHfn+?NE?dR8kzxU|{0;BP0L- literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_a-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_a-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5ea840bbbe3980b8bf6f1335e616e29ac5989f2d GIT binary patch literal 106 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEXj{gRFZNk%}dEiEwZu-E=WxdPAyRe z3A8|+&;$VK C{vgKy literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/to_hash-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1ca02758b6ac70aa828908e579aff8d964092ee8 GIT binary patch literal 112 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDant|NG#4!l65N0OUX$sva$*;NKFn- zEm4NbxLI)*lqTh5Cg)p8Lrm~ZEXpn|u(ARgSDKreSHfn+?NE?dR8kzxU||2uBU1nX literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_child-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_child-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..001f476727a43709f2c1bae27a780ad5d1b31351 GIT binary patch literal 135 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)Eh)|~Dv3``OwNc;&dAJ3QBrd%%}dEi zEwZu-E=WxdPAySJSK?;HQ&5yymRORSZzT;e)HksxyR^W{3TQ)VZfaf$n-#Z1L1Ix! TaWsR05__>xG=ma{MzJOU0Ol-4 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_node-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/tsort_each_node-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5a682cdcf9b612621902e02a7223a4eadacf5ddf GIT binary patch literal 131 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DJjk`Dv3``OwNeU%TGyFQgtfLOUX$s zva$*;NKFn-Em1~O;bz5CP?TAgSdyA=B@HpsH?b(Yw7|*=XntvKYF-JO6}Lk{Vo^zP PG=qT>8<13D*U$t2NxLfH literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/valid_for%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/SpecSet/valid_for%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b27a4d2bc5f50b92e4b21a7ca9690e7cab676fe5 GIT binary patch literal 122 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LFH6kHOo>m+FS1usa4OA9$w@7;vI;Ip zO%6^iQAS9*S#cMXCgo%%=UYib%<)Yu$}TOivH}`fnwy$e!e+(oP>@(uQXI`-U=Yoq M#I2E%T2QPB0Bjd0CjbBd literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/cdesc-RGProxy.ri new file mode 100644 index 0000000000000000000000000000000000000000..9cc16fb79d92f4a8d651f2ab6e48100bf9cd6930 GIT binary patch literal 209 zcmXwyI}d^|6onZKML`A!6XVvOaaoL-5C)CGFmLt|;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- literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..bae04653aa56e203673f4f244ef10c5a4d0a171b GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(l5;A}OUX$sva$;Gw6Y3v4=Bp7 zsI;;IN`+W)7nCODWG3fZNkg>zCKhFv7FbyU%__}J%`0KE;&v!VEGj9EW-u^_W>DhP ID9zLa0EN;bZ2$lO literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/say-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/RGProxy/say-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..eae12022a0035b2acd8f95b65c4623f6e547e96e GIT binary patch literal 115 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LC{COV literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/be_quiet%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/be_quiet%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..079eda74c9f29a0b04bbca987d3c2e5cfed79a98 GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOG=F|EX_<1-lqTh5Cg)p8L(K6_EXpn|u(ARgTAG`hSHfn+?NE?dR8kzxU|_i7B)$Lu literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/cdesc-Shell.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/cdesc-Shell.ri new file mode 100644 index 0000000000000000000000000000000000000000..917aa2246f43bb09d48708b44f62613a30fe61bc GIT binary patch literal 235 zcmXYpu};G<6h$+jI&n%yIxzKp#_NKBr2`#6nLJdE^HMAv+q~HA@8h=UPWMRXJk&it zeZB{ScnCae_vZAnsLoa(zrM*i*t}*xI%33rk9cRI-v@lYYag0_azreRJd;l=Y+s`0 zw5aNTLJ5%O)~%JmHs--uqgGIRx)jhw4v9>nu?Pa!k?mP0x*mA6eo5LJQbpa>s)cT# m<8QW-A&vU1F;^i3_v$WMvp&ty~LNzTtp%Ph)Ol6NZ2OUX$sva$;Gw6Y4$ zNX^MnhRV5FaTk;(05Y3>( KrIA~lt_c8%O(g;V literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/debug-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/debug-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..176a604ceff960fcdd5a012a7f066e56ebbac85a GIT binary patch literal 113 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN=Z#BO;?h2D$PsDNiDLn3iY(I3eHH) z$x#N&xLI)*lqTh5Cg)p8L-hM57G;+fSXluLE6q*KD`B(Zb|^?JDk+X;FffQ_P~y_a IEl$@20MLpfFaQ7m literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/error-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/error-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3ee73ec43fa3a08715c032a93aff81a311631d1f GIT binary patch literal 113 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN-ZkNFH(|qD$PsDNiDLn3iY(I3eHH) z$x#N&xLI)*lqTh5Cg)p8L-hM57G;+fSXluLE6q*KD`B(Zb|^?JDk+X;FffQ_P~y_a IEl$@20OU9$b^rhX literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/info-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/info-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b08c31cf1590b41738bce1352632a51058a56e9c GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%*;#6SCVlm%}dEiEwZu-^|Z1I&PdJ4 zQ3gr4S#cMXCgo%%=UYibbo(Y2WtSFMSpkhI%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~L$V)9(l5r}{OUX$sva$;Gw6Y4$NX^Ny zvI0tkSaBDWCgo%%=UYibH2WqNWtSFMSpiKd%}vcKVYA|PC`c?SDUN0^FoDB}Qp@<^o literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/warn-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/Shell/warn-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9f4e04f3d4f216fd35fa6d05cf47f906807e13ae GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEKe-TQ<8Bi%}dEiEwZu-^|Z1I&PdJ4 zQ3gr4S#cMXCgo%%=UYibbo(Y2WtSFMSpkhI%}vcKVYA|PC`c?SDUN0^FoNZ_4h4k?sRhRxvRW|-Q#Q} zz|G<$#?vUg=e5olX)kPhjHVwI0wgH!-BZb6VgD1Z0$-A&vU1F;^i3_v$WMvp&ty~LNzTtp%Ph)Ol5i@`OUX$sva$;GRE7$= zS#cMXCgo%%=UYibH2WqNWtSFMSpiKd%}vcKVYA|PC`c?SDUN0^Fo HPt^nf58fm( literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/error-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/error-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4c41f9fc017070dc01ee3d09b7b52111f5249758 GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN-ZkNFH#b7D$PsDNiDLn3iVV53%OZw z7nCODWG3fZNkcUHCKhFv7FbyUO)1Sy%`0KE;&v!VEGj9EW-u^_W>DhO$W1LSPE1eL F1ORULBBcNT literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/info-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/info-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ae1ceb8c04d9aad89c2f83fe61811a155217e623 GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%*;#6R}yt9%}dEiEwZu-^;8ClxLI)* zlqTh5Cg)p8L$vuO7G;+fSXlwhD9ugHD`B(Zb|^?JDk+X;FffQ_P~y|bO)V}?Oi$GW E01;RrrvLx| literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/warn-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/UI/warn-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..99345c8d0726d917e2a58694d235e5bf7a814621 GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEKe-TQxbJ5%}dEiEwZu-^;8ClxLI)* zlqTh5Cg)p8L$vuO7G;+fSXlwhD9ugHD`B(Zb|^?JDk+X;FffQ_P~y|bO)V}?Oi$GW E02m-4zW@LL literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/cdesc-VersionConflict.ri new file mode 100644 index 0000000000000000000000000000000000000000..536306e2d2e5d768b001a6bd240fb6f1680ebbd0 GIT binary patch literal 231 zcmZ9Gu?oU45QaNQTU#v%;vz12jO!v+M;!{f+!WIY!8Qq(L|@;uI=LL&_uqYYv-}F1 z_Gkpa#n8a}rsvLKr4qKjNpi~Q#^^_{glD@$&|NPH;6GXYk`s|31KY3g%;^~{K(vQJ zYM(;6x17Ag1XIjdC4Oed(l)XLvq%dueUM`Yr49FZ8B>;P`HrBnWV{q!cH=NCEU6dw Xa%|XAY3I2X660!}kF1_gwZP;9@}oxO literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/conflicts-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/conflicts-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c7f0afae9c131abe85dcff2aa0cf127c26a247e5 GIT binary patch literal 113 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNu&d*EB$xJROR#JB=%}dEiEwZu-OD!tS%+GU% xN+~1MumxFh7nCLeHRM}KLyYoGEXpn|u(AT0Tbi4iSHfn+?NE?dR8kzx001N-C4c|` literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/VersionConflict/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..6813e487936ce2eca28f4db9679ea9bd7dd9038b GIT binary patch literal 133 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(QgSNIOUX$sva$+GEh^5;&vVYt zOUubjF0rx#N{3i+7nCLex%pPo5F>mOi?T}#tgL|MmFA}Am9SZHI}{`ql@v!a7#Kt| YC`oH1Lk%d_QOGS$SFlyc%goUP05m8o2mk;8 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_cache-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_cache-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..b6cc70440e27faef35173d2776b5268ac7d28181 GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LODrgePfkqENL3PdD$PsDNiDLnf{TS% zaTk;(N6 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_config_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/app_config_path-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..750a97152f986f971bd4d7ddab3b65ac4f4f9511 GIT binary patch literal 120 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)Nh~OcPtMOv%S?|iNG!=vl65N0OUX$s zva&*x39;fXC{4=AOwPBGhM44=Sd?8_U}Xg~wlp_2uY}Et+o2$_sH8ZW!N4GzL5W>M F698YRCkFrk literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bin_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bin_path-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..851c59cc5dabd6b5abde48bbfd89dbf4f6675909 GIT binary patch literal 106 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LP0GxRFGwuOP!e-0%}dEiEwZwL358g3 y7nCODWG3fZNkjDdCKhFv7FbyU4Jyq|%`0KE;&v!VEGj9EW-u^_W>8|+&;$SpULijK literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..79b8925ab1b3e8b8e827c0b569bc16f67a4ad43b GIT binary patch literal 112 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)NGi=s$w`ebNG!=vl5_%dima@VL_@5& y3rdr6GL!SIq#-8wCKhFv7FbyUjVsMf%`0KE;&v!VEGj9EW-u^_W>8|+&;$Sj-y_EW literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/bundle_path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..74a1103f08336feabe622e86831f910c666faca3 GIT binary patch literal 100 zcmZSK2({u5a>-A&vT`gbDT?OKWKa@FD$PsDNsTW^EXh!kZ~}9Rl#vD5!mYRqN|SOj llk=^lA-a7Ni?T}#tgL`WmFA}Am9SZHI}{`ql@v!a001*SAZ`Ev literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cache-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cache-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..30fe888397c2aa331d549c683ca3f989247754bb GIT binary patch literal 100 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LN={79NL3PcD$PsDNiDLn0`o(xxC=^? vax#tvM>7~0L^CL{YiI%h7NZ`Q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cdesc-Bundler.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/cdesc-Bundler.ri new file mode 100644 index 0000000000000000000000000000000000000000..026a6baa314ea7e6f4aaaf5bb474266a91643dc8 GIT binary patch literal 793 zcmY*XO>Y`85am#@d@K-@pjK)Rt}ne+Jui_;t3(wNSt_E0!yYW-9at+~+wlje|GxGv ziIR(Vc0BXu`Mvqjd&oX+ZWPP1T$!4RJ5_oC#h7<+`rFG=fLSCzRQ9nsZ$ zz6R;K*>It$akl6bNs-`-UDHD}brtSzLniTjF)I2YN*`}G_seyz=H2c*DY`2A@*ear zHS}PpuHtnMUvJ@?0aPk356D&Aq8%{mEua&injb2MPKG-`4y?1Gf;vMk9A*}|6)B368hG;xC5Yi23YT()PK;ZHmSYmyte&W7S%HfIe zyMM$or2&sDI2R1Gcn~75@g$L9p*UUiAwNqim&cD9pdUWd&pfxHM48b;0AC4*?qydUxAgXSC-o&R9Q B0@wfm literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/configure-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..01e36d2bc57372ec3cbb19d25e196611c69de692 GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LOU}vhfD$PsDNiDLnf{TS% zaTk;(-A&vU1F;^i3_v$WMvp&ty|lNY2ko%Sn)X@Qj$(7w{#)VvZlD{hB^ S#G;boXa)m=Xa*&A4NU-2-A&vU1F;^i3_v$WMvp&ty{)Nl8shEX^s2PfyKF%gjktl65N0OUX$s zva&*x39;fXC{4=AOwPBGhM44=Sd?8_U}Xg~wlp_2uY}Et+o2$_sH8ZW!N4GzL5W>M F698PqCj9^a literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_lockfile-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/default_lockfile-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..660a22c522e3a8a1c5db77cc0024c59d5f0a71b6 GIT binary patch literal 122 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)O-W5lEX^s2&&f~DPRq-A&vU1F;^i3_v$WMvp&ty~LPf1P7%*!mv%+FJja4OA9$w@7;vO)-k zSaBDWCgo%%=UYib^!p|jWtSFMSpf|z%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty{)NX;wDEXvQzP0cG&l5{G~OUX$sva&)F z4YA@bC{4=AOwPBGhM3@+Sd?8_U}Xg~t`ww?&5GNhAhD>VIGVx0AeupmT|*N99akhJ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/home-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/home-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..4e6cc71be22543ed13088c153b011b386cb61e63 GIT binary patch literal 98 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%*fA8RT6S4%}dEiEwZu#aYL-Q3rdr6 uGL!SIq#=5I6N|D-3#_bw29)Ne=9REnaXS-A&vU1F;^i3_v$WMvp&ty{)%*-n;NzBQKFGwuOP?B;g%}dEiEwZvg z77nrEE+|dP$xP0-l7^V!n^=@xT3}@bG_W)`HLrxtirb+ev8bdtn!&&znn8(OLlXdH C2_(Y+ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/load-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..0e579f84174555c764daaac21fd1903a419becfa GIT binary patch literal 98 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%*jtoQ4(@0%}dEiEwZu#aYL-Q3rdr6 uGL!SIq#=5I6N|D-3#_bw29)Ne=9REnaXS-A&vU1F;^i3_v$WMvp&ty{)%*jtoiBC_>EiOn+R+4fm%}dEiEwZvg z77nrEE+|dP$xP0-l7^V!n^=@xT3}@bG_W)`HLrxtirb+ev8bdtn!&&znn8(MBP}y0 GRTBW|@g^q# literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/mkdir_p-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/mkdir_p-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..1c3947dea87db9649eacde7327a01261c9515772 GIT binary patch literal 108 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$<0p5EQ&8s5_KxgOUX$sva*7TgjjJG zlqTh5Cg)p8Lv;Ek7G;+fSXlv$Da}pID`B(Zb|^?JDk+X;FffQ_P~z4oNG!?F1OP`e BA}{~| literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/read_file-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/read_file-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..971d80d43cad98322c3162cfc0679463ca9f70f7 GIT binary patch literal 112 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LD@sjFiBHSSNmUYeD$PsDNiDLnf{TS% zaTk;({(D BBar|A literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/require-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/require-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..2ef021d338c37a4583e7274730aebcb2d75ea44e GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDM~FY%`8e)5_KxgOUX$sva*7TgjjJG zlqTh5Cg)p8Lv;Ek7G;+fSXlv$Da}pID`B(Zb|^?JDk+X;FffQ_P~y|jN-xSUEhyFm E0KCQ{egFUf literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/requires_sudo%3f-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/requires_sudo%3f-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..093d2d7d2b45477b323e9f70b11bc696d9c00699 GIT binary patch literal 118 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)E=nyd%`8eSjxR1v$+uUMaVpJA$w@7; zvO<*zvEnW$P0Gnk&bN|=nB$vRlwDe2Wd$^}G&eP`gw2ZEp&+rSq&S+vz#y7IiCsez E01*l%Qvd(} literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/root-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/root-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..09e5bcb3ed64cc80c4add3044da9b306fadd21bd GIT binary patch literal 98 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEXvO>Q4(@0%}dEiEwZu#aYL-Q3rdr6 uGL!SIq#=5I6N|D-3#_bw29)Ne=9REnaXSfx literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ruby_scope-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/ruby_scope-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..1f2e6d9d25ee613ce74c65398798220852981a5e GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LFDgx{j4w{kFGy9Aa4OA9$w@7;vO)-k zSaBDWCgo%%=UYib^!p|jWtSFMSpf|z%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~LElw>d$;?YHRuXe6%}dEiEwZwL358g3 y7nCODWG3fZNkjDdCKhFv7FbyU4Jyq|%`0KE;&v!VEGj9EW-u^_W>8|+&;$S=#37de literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/setup-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/setup-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..ed0baf5a98b959b5dafb7735e8a5b5b32b5c6064 GIT binary patch literal 107 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDo!maEl?76D$PsDNiDLn0`o(xxC=^? zax#tvM>7~0L^CMyX=tSv<(C!|YXSfo C)FI*k literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/specs_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/specs_path-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..7ae2dc8dc3db752da2d588a689259dd3f77e69db GIT binary patch literal 110 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LFD^(;E{-oqEXh!ka4OA9$w@7;vO)-k zSaBDWCgo%%=UYib^!p|jWtSFMSpf|z%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty~LEG|vSR}yk6%}dEiEwZu#aYL-Q3rdr6 xGL!SIq#=5I6N|D-3#_bw29)Ne=9REnaXS-A&vU1F;^i3_v$WMvp&ty~LD9J5Q5_BrfOUX$sva$m5Laew8N|SOj slk=^lAv$~$i?T}#tgL|AOLJ56O4zKp9SRbQN{XWy3=E-A&vU1F;^i3_v$WMvp&ty|#FU?dEa4OA9$w@7;vMS9CvEnW$P0Gnk s&bN|=sP|1Q$}TOivI1%@%}vcKVYA|PC`c?SDUN0^Fo-A&vT`gbDT?OKWKd!+%~axdD$PsDNi9+avf09|xC=^?ax#-A&vU1F;^i3_v$WMvp&ty{)EiFhdN=!+O&&f~DPRq&5GNhAhD>VIGVx0Aeupm HT|*N9@h~W2 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/user_bundle_path-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Bundler/user_bundle_path-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..b0452e32a13839c29dfa1ae8d63bc97a039574f1 GIT binary patch literal 122 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)EiFzhicc!dOUX%%FGwuOP?B>3bBe62 z(4|7GxC=^?ax#-A&vU1F;^i3_v$WMvp&ty{)F3&8Q*P0Wi=%_~!qaVpJA$w@7; zvO<*zvEnW$P0Gnk&bN|=nB$vRlwDe2Wd$^}G&eP`gw2ZEp&+rSq&S+vK#3umL5W>M F696(JCO-fG literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/File/cdesc-File.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/File/cdesc-File.ri new file mode 100644 index 0000000000000000000000000000000000000000..cf591ff28011370b6537cd991176cbad6b5fc00a GIT binary patch literal 169 zcmXX;yAHx26zyPy7VYTb#%J6vO*C$5V&ZfsiVRc=goocRMRSsqoacr<;qW*+32<{^ z5$0q>jM(djw-;^HNI1Jsvy#cd@z=YG@Xj8fjPjyv+5#KB2q|Lo2SLI+S&t|ZU_MVq m%MudkeQ>F~saKUdAM{5gwFJ4q>4x2BI^)MU& literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/cdesc-Dependency.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/cdesc-Dependency.ri new file mode 100644 index 0000000000000000000000000000000000000000..e307d0c663d3af1ace5ff239c7abceed0671a04f GIT binary patch literal 271 zcmYk0KWoD<5XC)|+KKaTDDBWqALFtF63CPm0;PinBg;ooBkR-A&vT`gbDT?OKWKiNxFUl`1C{~hoPtCQma!D;n%}YtmORiLgin9lW sTX7eZCgo%%=UYibH2WqNWtSEJRp%#{=BDPAuvu|C6eJdv6h|`v0QN*5vj6}9 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/required_by-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/required_by-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e29c59caf07d586970e3640455fe5874ddc3db6e GIT binary patch literal 119 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C`v6X%`8eyiBGCjQgBbrwX$+aElABv zNzF^HR7R3?v*Io&P0Gnk&bN|=804E+lwDc?RG*(*nwy$e!e+(oP>@(uQXI`-U=Yoq I#IB(U037WmSpWb4 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/requirement-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/requirement-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c64a96beba8ee6cf05d68eb4423e805d7b3baab8 GIT binary patch literal 119 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C`v6X%`8gIP0cG&QgBbrwX$+aElABv zNzF^HR7R3?v*Io&P0Gnk&bN|=804E+lwDc?RG*(*3ewJI#qCg#SX5FR&0t^<&7j1t Gp$Pyf8774Q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/source-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..eb4fdc329e15910030b22cee5639f977049dded7 GIT binary patch literal 99 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNR&Mz%WPF0e2PtCQma!D;n%}YtmORiLgin9lW sTX7eZCgo%%=UYibH2WqNWtSEJRp%#{=BDPAuvu|C6eJdv6h|`v0PlPsl>h($ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_lock-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Dependency/to_lock-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..37b32e5b31b03b3f22442545c78808fbca55d137 GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LDant|$xqH!l5tPXwX$+aElABvNzF^H zREA2pS#cMXCgo%%=UYib4Dd}X$}TMcs?AR>%}vcKVYA|PC`c?SDUN0^Fo-A&vU1F;^i3_v$WMvp&ty{)FUgOuOw7%RFDS|{NG&SKOf6PYcTdf= zvT{i+NX<)0%}cIS##G~G#a&REl#`j9ZzT;e);F;zyR-nPEkC(5H#M(>&5GNhAhD>V PIGVx0AeupmT|*N9)+sD= literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/cdesc-Platform.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/cdesc-Platform.ri new file mode 100644 index 0000000000000000000000000000000000000000..bb58ac052e1e7d60ff255b643056877a987a86db GIT binary patch literal 241 zcmYjLJr9B~5M?lY3WI}-TYtuNk!V6N0gXl-I+a=j3bbj9zu$rhF}K`%_dagnUtxXT z3kFaM)zNm>QmskSI4C}~)I2STRvGUAW*8l-7iUJm=4ULZdJhu7rVJhLjSJCMQe`x8 z?D)h(!6Ch+0=q8uEaRcDxZLydj|hsq%w}vQqlitfSU*H^sM>~&UPz=8#@6%41ea1Z eA8PoN8#lc+v}b&5#XfOSP*YvoJs9seB+eI~nnC>l literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/hash-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Platform/hash-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..18e8d89308b8b58ee48a6915b8046c5316fcb350 GIT binary patch literal 103 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%t$QGP!e}f&9$-$$Vn_o%P-1R28p>@ zaTk;(-A&vU1F;^i3_v$WMvp&ty}QO-xCNPb$qz$w@7WPf0CE%}YtmOU_I! zRx)r;&9$-$E=WzzOv_A8EXmBzQ^uv(&5FCAG$|)DIp0beVvBELQFdv8l@-v+(%jU% f5;iMthl0eSlHzCv1A}M=B|Z(U^rHOIf?`boE*3P$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/cdesc-Specification.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/cdesc-Specification.ri new file mode 100644 index 0000000000000000000000000000000000000000..55e3930c44463fc45332f2002ca3c011d41dcbd1 GIT binary patch literal 484 zcmY+APfG(a5XF0t-P*P7Qc;mANIpjPQdIC%m5O-SL&zqx+h{h4`Lp1+H)#diTi(p% zH}B2K_#Izv9yP=GS=*k<2T7f)XJUjFZw8oX1*2YQg|42U$N0EbyfmM{yvEBtVomK= zFc?Q(=t21m7b`=pclD?q*EyO>{YT3;A5mXhkdZzBk(zSgq_w(V&10uqrJ*u;) zm-j(&2^Qlu^=$hZzqQe?uClDk<4hiBCT!XXxh8 IF8Lq&1+b=}g8%>k literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/dependencies_to_gemfile-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/dependencies_to_gemfile-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..07f2404db656462f60bcd8d50d6e22ce4b8c255c GIT binary patch literal 172 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}QNl7h8%}YtmOU_I!jxWiNPfyKF%gjkt z(sxhIwXzB>NKMX6%S=uz$;{7F#-Y~Dil?9`vn;VBHQ!1aVu^2JQFdv8l@-v&(%jU% n5;iMthl0eSlHzCv1A}M=B?S#+vvd^Fi}Fhg6l@jpGIKNm`Aj-A&vU1F;^i3_v$WMvp&ty{)N-NFDiBC_>jW0+n$xu>tPtCQm3NA=Z z&P>ZpPAtjH&r?QG;bz5MP@0sJnVfGW4KdF*u_(K=z{(0}cxi5GUJ08Ow?jc-A&vU1F;^i3_v$WMvp&ty{)NY5;ZFH0>d&dkqKQg%NKMX6 z%S=uz0g5Rj$-7x`7nCODWG3fZNkh!?O)SbTEwHiz8eE#2npeVR#qCg#SX5FR&0t^< K&7j1tp$P!4R42Ls literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/groups-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/groups-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b9b198fa90465b2456df28bef35e818b98eb1766 GIT binary patch literal 112 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LPA|$YEhtu!b5G5+vI;IpP0mcqOinDx z%+FJXNV!>Y7nCODWG3fZNkdHVO)SbTEwHiz8dsW|npeVR#qCg#SX5FR&0t^<&7j1t Gp$P!=WFwvc literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/load_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/load_paths-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d9c6a030d209f8f6013f58a20e8e36f4e4bf08fa GIT binary patch literal 120 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L&&f|ri7!Yj$tYG*a!<{*vI;IpP0mcq zOinDx%+FIsNV{2a7nCODWG3fZNkdHXO)SbTEwHiz8e5v1npeVR#qCg#SX5FR&0t^< K&7j1tp$Py#878Cv literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/loaded_from-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/loaded_from-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..61aac6eb3ac489c174d73a111d5d44f85c86783a GIT binary patch literal 167 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)$jMJkNll4QE6UGRQg%NKMX6 z%S=uz$;{7FMv`~4;w~sn%E?U5w~~gK<(pWPU0Pse1vI!cH#M(>&5GNhAhD>VIGVx0 fAet?jT}cg#kwxk8NT%jnv$I)qL^CL{YiI%h|JODO literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/location-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/location-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0fff02e34e7f73c2f840e363d00d54b383952162 GIT binary patch literal 106 zcmZSK2({u5a>-A&vT`gbDT?OKWKiPG$xlu!$;{7FQgBbrwXzB>NKMX6%Y=w2!zI~+ t!mYRqN|SOjlk=^lA!hg{7G;+fSXluLEX_^LD`B(Zb|^?JDk+X;008$-A&vU1F;^i3_v$WMvp&ty|l$ji@5Ni9pw$uG!F%`1sdNi9eP3gjhc zrWPw1yQk(_Sp^rQCTFH)CMT9;=I1HnQSWBOT~L~olbM`vB@MC5H?b(Yw7|*=XmKgX Ycs46;hl0eSlHzCv1A}M=C3X!>08-^N@Bjb+ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/relative_loaded_from-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/relative_loaded_from-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bd0c814032f608edeb7c425446016a292dea7696 GIT binary patch literal 130 zcmZSK2({u5a>-A&vT`gbDT?OKWKfbUO3g_u$t+8a&&f|rNll4QE6UGR(s57CwXzB> zNKMX6%S;B!=jSP7RmdI`ZpB?tnv|27oNpx!G21t>D7&=4$_i*vX>Mv>37ZwSLqTFu INpUm-03>)ULI3~& literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/required_by-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/required_by-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b5484341f5e52ab86313f80fa96949a2de551f5f GIT binary patch literal 122 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C`v6X%`8eyiBGCjQg%NKMX6 z%S=uz$;{7FMv`~4;w~sn%E?U5w~~gK<(pWPU0Pse1vI!cH#M(>&5GNhAhD>VIGVx0 LAeupmT|*N9rzR(! literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_full_gem_path-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_full_gem_path-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bc43150495d1ee2c3588436979e268cd8af9eba4 GIT binary patch literal 132 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)ElQ71E6vG?PfyK_FGwuOP||Qu&9$-$ zE=WzzOv_A8EXmBzQ$|Mv>37ZwSLqTFu QNpUoTfk8Bb61#>b0DOrnkN^Mx literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_loaded_from-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/rg_loaded_from-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a13ade1245f44eeacb731706716fc3e2c97850d3 GIT binary patch literal 128 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)E=rHj$xlp4O^Ht{%Fk6&b5G5+vI;Ip zP0mcqOinDx%+FIsRpMsFT~L~olbM`vB@HprH?b(Yw7|*=XnbjIYF-JO6}Lk{Vo^zP OG=qUbG=mbmh9&^7(<#;f literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/source-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Gem/Specification/source-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9be1e3cf1d8b398df2289a7ce25e7f24fb18f39a GIT binary patch literal 102 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNR&Mz%WPF0d~PtCQm3NA=Z&P>ZpPAtjH&r^m< vu?K})aTk;(-A&vU1F;^i3_v$WMvp&ty~LFUgNjPt8rs%t=*Ja!<{*vI;IpP0mcq zOinDx%+FIsNV{2a7nCODWG3fZNkdHXO)SbTEwHiz8e5v1npeVR#qCg#SX5FR&0t^< U&7dTxQIJ@Yp(sOJcef4~{}HYb3Eo+k=YLpvm7$)=9*^q+Y_ z#w%m`tb1kZZa97m1?R(6FQwX!m@{Q9QKNG@kfofFf3z^#TcLdTDDQ}m!Bp!gqq@x+ uG>uWvrulvJb~!27C5}Q?$gTDvvHwD$V!EvlSuj{Css6s~`pv4XseS<@MowP< literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/add_runtime_options%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/add_runtime_options%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..90c8e7ea71ce6d3cf5c7096009f80144e2155167 GIT binary patch literal 230 zcmZvWJqyAx6h$2*7CN}Nhz_wXx=5EU&&8s+6-0E(P@YXN#kL9g0R8t?+eL7^a4zQz zgDXtV2UP&1%_|d5D$d3wiKfVTZhYg)TI5Q*QZ;rFB^Rkoix%Gvu&>bC?q!$%9!ChZ zzg1|+Pi}jHz5QAT|$lYv0+G wx$!YNu36KBj>_S!2eT8Z9MBc7gP6Nha^J*G&~q5f)lo2!&b`%gW52e|AAhq~^Z)<= literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ecf2a266e0c28effd75804a0250c0f62891b68ee GIT binary patch literal 343 zcmY+9F-rt75QQydUARI7J1vITc%aACW1}c);em)&TP(S3?h@S1gqfu9-G z-uI5{FFgNvB7^u4epWU)>Y7tusWYL>#C+hao5f{WHPeBkLdo422a`m5l##zkk z-W$S;sdlCLJ4eK_kp~-6g|qvpIZ0CyULG>3fXVuHFI|ghe7Jt9)EhK_%`DXbb3>&7QWJ=Iv=Hd%x f{CcD2J`~s|+wE0!=*IFtKPF0x<+3?aC)e{|=i+!a literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths_for_search-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_paths_for_search-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1652b0297c84716889fa454d1ed60396671872fd GIT binary patch literal 380 zcmZ{g%}c{T5XF0tG+2rUy%})WUd*j3f{Yix@MJ-1^^!x_Znxc~=}ws4Mf~qg6Fh|C z_3_^P-kYQJ6VK)^q!1t7&rAnHtK!5aBJ&hk>9Ur=_;O8LdM#NQakntUjavmv&Lcio z()%vxC;x3&yW6A2VhA8Eu5wry o>p|^@_JATeZY`(RIefJ50wxN7a(0tL)4f^Ok4>k=KnySQU#qixBLDyZ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_root-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/ClassMethods/source_root-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0d4fda76a185c4a52273983ae86f2bfbb2c522b0 GIT binary patch literal 220 zcmY+8JqrRc5CttH2v=xfr$sm$1q&OS6+uz#1o5M~LSinO;F%4ZP2s=y-2Q3I^~dvDlcS#+Jqdl3_9b0tL1r)P^)6Pg|R2(YPCj13$|Kj03skZzUJ2!rNy zujrWqKy64b<5@tq3W_)u0%7>i92BVssbIyTQ;2+iVk8r#@}(rhiM(WMWTTVcE_p|) WHy5S;2F+$gEANhjV!QONntT8hWlDem literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/CreateFile/cdesc-CreateFile.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/CreateFile/cdesc-CreateFile.ri new file mode 100644 index 0000000000000000000000000000000000000000..d4035d7fa3c790c3047a5845069dd8eee9abbcbe GIT binary patch literal 353 zcmY*Vu}%Xq4DEn=r3Ym|VgaG(<`W;_E|j)R6rrk2nbMrwMBF8j?~Bvg#Aw#DjkXFLHcG+XZ?z#r&#-330cETLvk zXAk$kavMcoeE>+>eTR<6P(BAm9Oc->&H0kc4!(}ma!bewlmo>5xk~ F`T>zdaE|~0 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/Directory/cdesc-Directory.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/Directory/cdesc-Directory.ri new file mode 100644 index 0000000000000000000000000000000000000000..008da4b931cd4204a1c17d25f4e6949e01c0eae9 GIT binary patch literal 206 zcmYL?F$=;l5QRI4t*v$uT*M_ms|I6iQFXvD(~6oO`k_#byApur9E2+Q|4-Wy7tS IjXRgg8^cOI&Hw-a literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/EmptyDirectory/cdesc-EmptyDirectory.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/EmptyDirectory/cdesc-EmptyDirectory.ri new file mode 100644 index 0000000000000000000000000000000000000000..350b37529358cacdba3332a9a1b5903e632f084e GIT binary patch literal 511 zcmZXQJx{|h5Qa0LCTdC-Bo-J>nNbEtX93y{g|<{QOc{{lxV4F6N45j%zsFAa5FlHY z?#}nV&)rG%jLx6tiXgO6y1`;5urbAy2g%u@Y3*^&H6>Q*W0K@dX@qWxd# z^40%D7lYgy>$+Wc=1I&hLg&bR@0Eu&CkLxFgH*ejh}E0@%O2VM}ocGX_yWzPi#EUO>A^dHlm zz_MO(NduKd1J`zNYg$45MA$FFn|tF5xP+X#n&bR-z4~;lpgh98lGwn8liD#RsrO&I z2{9G0OW{Fq!<|a^HIDYmKqvuy?Tj&K?E6 zIu8&(x>i}5LcZ|=De&Znl&5Si$KQ;nko)dtw2Wa2g-1tmP~Atl@TlK{)F9YW+d#rf P#bc|=2CtfpJm<*=qm4pb literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/add_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/add_file-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..71dc203839f0e7a30fbebfa9a3064ea1a3e537a1 GIT binary patch literal 137 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LO-xCNPs_|nRgw8YpNJ%X& a$;?Xx8Kk42l~|NstfQcol#`#FtqB0Y6)YV9 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/append_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/append_file-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..da57302c6a55426bed53319dc4284d783ca1a81c GIT binary patch literal 861 zcma))QEL-H6ovC3*=!PN1AkcnA+0{n*3y<%Dzqw1^(7BwcK2p?%!_V&6o)=y+4 zjdr_Fq_4bJFH$8l!(Xp3m%`2$HRqnWs8Caz_l{~|$xZu)zgeI8DXb{0sLOWJnYP*0 zapMVuw*+KBKyV+!MCuGd666>%IWQWe{(~9aNKK~6IP&_?fyE_SCsV(+;dY{go?l3f ztqI>*4|0wom%4~}S9ySvF^@wCwiOaqNSM&evl6ZCbZcxC?fJ$tR4(F!`St)dZxk zOdA4aipI*3poR0eZi{!1=&nW{fB$iPHc5I>(wA}aob}IcMO7;dGaHTl_IyFI3Y`pC z1i((8JT(}u^6jBsN^5j@TyBrh(b%TL(StlLumWaXjTsxVb~pS3>eGLtAU9zt2LEHP h?p-&qf!Xn|aesf>Vmt4{2OPmiVGB2ccTKM!{sM5H4nhC` literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/apply-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/apply-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..53b092a07212f666a202911bd01bb8150a00b816 GIT binary patch literal 634 zcmZXRL66fg5QTd{$)?@a3JC!Mge-Fbgwg^Rx3v&&&H4hcvrT!d5hXiI|)^=`oatRy^39`6|6^y>wkt9Fz$^n_JlgCJlpY z1aG8fE2V)74OO5X5ST)y48x9YCZIGmuu7RmnKs|Ef2XCnoGSyPg}Aqy{1If-q++b$ z3be{Zh7`(=<4QeHda&Zou4b+RrbMF<`cNi&#IgU0dT~a}3N*jzBzCVC=qc(AA*Qy- zB5KM{mP8P{4DE(y14{QTXU@*(87g9DzoBBXX*`6$tmjW9^PnZFtF6Jx+kRsa?BMA+ zytSCyVmuP#Q(QX`+2=3I^F=X9i$j$aNBrpgTJ}yuh(mi6KfqVy-p4&BJY|d$#}fq)w*n8fauB9Je+}T*xv%(aR*v}X#}WJ) OtF2k7_TB;8+ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/behavior-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/behavior-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0710d4bda589cadab3a6b749cc377c238c5135de GIT binary patch literal 101 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNwO3g?t%girQk`BqpF9OOWmt^MW6)VHV*@MEZ rxC=^?ax#tvM>7BbJ8&Rt literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/cdesc-Actions.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/cdesc-Actions.ri new file mode 100644 index 0000000000000000000000000000000000000000..b552f096ac4d9963c3729c25b37d0cb1b4f8921e GIT binary patch literal 548 zcmZ8eyG{c!5KMuRBah=D9zqmITT)RQA%R323Iw8XVL84fG2D5rwJ+%Yp1mXzkLKhV z?d;6#?G>-;{P~fbQcuK;v=HR{q2VEW*)r;yN5YO>ZBx>P9;r!e7qxeK2t~jzA<(Pgaq zVKt5H*EVAhVCF;0HaP61w}rlfnXM}G?rVfY8zY7t7z?O7@mV!gLFp)VyD7&g+qU4e z!jyfmeMQ4W8P5JQcTiTIB@S^1C)mW?nIGcf-HW3SCQ-`{O|*HHpjcvta+%u2)@CXL z+wDGl$SM(JGMf{?>2GS&VV!Ze+peQ){=9LMx?}kDY0wwKP?+%7tk9Q&Bz=uhrhmVV-bu%G2`%Z2y*tKW|G;2WjXyBGif literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/chmod-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/chmod-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3bab5da879abfcf72c14e1aedbf8d64c479aceea GIT binary patch literal 640 zcmZWnQEL-H5YB_-a+gSL5fs~pWqqjdQTCE|a^ZdppPOBs3KN zySp1IguD$i-+c3ZAM>pDTfF@B6-yy5%=#9n#(A-)x;!iE2Iu_sU5(byN>XUt+t~aj z`t5S2Rf*zovwAD-{jwFp^DG-M)D`{nR$6k!0L9TZ=BKo>va+qad9Ud5@t0bf3LK*v zn7;@N7qPC?3JhB)?K_sum4%Yfu1|IdKWl03Z*+OqGaC!wR%YMN05M zd@qP-fWSHwueNt?l%vG!R|JhKdOIG&{Myd~M#~v!eh_3&t_?v2_AI!FPj|{J;4zB*(-G z>xk@})-8zi`;WWJY2HurflBk|d~o?7n^t?> zS!XAQKb~KbYJ$;(CyepK_#KS9(yEp|yyrtU`ZOMoMn#7o9S76H=wQe;+D{+(Yyec{OepP|mMZ9xS3ghf}hj_QH`6i6Wj41OcX^vwy{6wWh z3ob_pU14UZcvu-!!pQ}KrOKoTj_TV}v`%U-A>D()j17Xt#wJJ$njB=_LxXg0EC_3T zzG<+UAmFb`sK2(WCcUk=AC=Ja8>z7|;xFoxT%(vuoyEMZaDhs;c+26vV|!u50v#Gl z{8|0XjkGTIbfm+=j+V$ZJleaCv6y&Vu7%A*vUr{BeV`6}fo4J$;lnx1gz`V0 ze7F-u*~4X8CtPKH!ghnVFWj<3-um+Ou0KjTak3*@$u8UN-;1JDXoF~r*AL&oKY=3f z=&%@oy;{FhV7L9tt6`rV1DjHM@@K`OcKCw!a6`MHI6WOVSoiG;{4pE}li6cV3275d+s#Y}rmCPlI>2Cz2_#_CVB13<&^5U>R$V)?okF$k zf1e%Nt`*CZNeddcr*^wgEeDl%f3QfN(IQO3AfRu~);&Fk-+4hp=FXuI1(O}PDkw;0b9ka{R z>P$dTbPwTVFeK55A%WB2a)OMk6UuLC1x9NJ_rm2>q~}!%GIZEv$$c);9E7bRhFobB z3{jQ@y6f#bQm1{;#xFwxSZ9RlwVu@XQKIT!3PlSyd}F@!bHdE$#JnMCNK({!-O+<% zE8$K9a%8OL&*yV4g>|vVAsh{CyY>WGh+p_v&`9i%WG`m!dvH@#dE`+=I;jU_5!(w; zrjQB@F#b=frIXb-Sz{aF#$&JF*Fv63w07R~ZAChO@m^RIq_T-?Xv)NCE!C#i9#4M}cs7~TQVS&Bb SnVFd;yhGEoP1vqRe)li0I6syE literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root%3d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e051999715ce709c3e2a9b26dff532aebb18ec25 GIT binary patch literal 286 zcmZXOu}efT48|SgdGH1oanT`E2VIU^tq2OD(}A2iy+L9dZMkPt(!4wGzqiFnoRWO` z<@>Tfd$mWadv?~|rQMP=upbU%XO2A;jR`e!dJ|^7G3PIVrE;!mk^`E{dX=nS}jG|@e*q;7no>1^pFo*7XHXNA8XVL;12wFINu+$+orFL$_ zQs%ItvHrKA0vR;`3ITdg9+caqx$;rSDa#JFf$Fx|6(=z(Y_UL08(vo&lLz|FwUD1L M7Q>$DFIwv553&JbH~;_u literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/destination_root-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3bd9f284f9c14f70032378ccc1b4d6f600fd9557 GIT binary patch literal 232 zcmZ9GF%N=3422!cNy6ZwlMWYHU@^>f(Zsls7@`w{smCc7@k*}8;J+7iQMbPLzP@%G zoM2Y$NC9l^GuOVRs+<}T%`45`SoDVM*%A3DKGx)VObr&t|M?!mw!1V&5iCB1Il6n- z0`%?OLt8H(+_dOCmx5sV%N)?*&0$-Mbx?{ZFSPHRW$9}zhwJi6t`}x-`bjm&EE8;) YBsK-C#-AUHUuD!CoK>mHl zyCEA$h_r{y*l*svndcYPKWyXjRQZgZ$Z;2JsDj?ADAScdXz;DlW4d`ADvf#H3MI{l zY2rI;BxyeqzGCllh%VQoG+_+!(io&Iv&M14wKctU#Wo+G`OP&SYMz8;ui9(SpWjp> zzz{5&Y9nqT8WS4=8Hfm@1Fd3WRH}U-)B40JqLs2mq(#p=1H$E)sKM-QA%zJM=1$m< zw5)9sVLut-V>==M4S|E|1L4F%oJ8CL{lR5GgdzCP$GngkUI4}l$(;}xm`ZIHhkFZ% zg;7Lrk(>nWBA6W)^c>zmr81b-$Cd-+i(eFxR(AZR=r8Y`YoHfmC>8Q-kxPgn?t{j% z+-B;Kgxe6C;Sy0y)(1#m1%PEDaDAFINtAKz1Q2aEt~Z;T*4K#3 z(YcUNnj7|C(0x=Sc5~dI6+&nY%k0r|oz@8cDC!(1O5#44y{A1Ery7^-lhbay2&`&^ zY3V*HS_EHh@g%vCJccbyVO)7NSGY`H{|iCloNm>~X=<4A>LukhT(+9g+9(>QPKe@m zg?2g?2Z}@RHQ@Mjsb(j)c>ej4J%~pS@`-J8W762EnGMMa{J`3+0PRO=NOxulF4XPi zjBbSjb2=?ebSjQ4xdOR7SM1$m+noUqkXeP*BS4dh8mn2{Ub^c17=s0E6npdd&bctQ zf>svj4%4g7ZGg*nFz3!hyblpw&%JthWi=K%as!$UYS-zZ0bPbJ&z9G@&jlw2cb;x3 zZ>{3JqHkv$w-9abS+tp(*)#C~xrVkMh~eQGH=$!znJ}x+gP~)@ZgHWVUA`QV0XhmC zJ&Df@ikj23+@_{QPtfLU`d&?sH_>JI*5o(T2pz8{7M-4r#z>}KV)bJ?PJq>ZU0k=X zyrqh_ENb2gU2flVe1^cxtZ@Cg70%+HpR9J1xD7Y7xrpHYey>C~w{x|dWS8rqX_Ak) IH2!GkKYhyR$^ZZW literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/empty_directory-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/empty_directory-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6a2c7cec93ff7d27b56a7f4fbdbf9a814d614e68 GIT binary patch literal 606 zcmZXR%}WC@5XF0tuG=aq2uf85@uDCq9SYg-?vA^`Y-UNO#UlRiCKkln zTgbfmz4wxt*=Mo*c#fG6CuVdDRAQbks3u>As;1Fvt}JAPcEtHpiPoz!QfS=fzwxDL z*Mq)R8H%+r?pE6OK`n%54=OO!6zy&;ExB|K#rmY?L0VZ@S(nXZHf?ftW`@8Kg7%6buv${d2wAxNv&k$X z?P9VRB};rML-VGJ!z<~^z>0oZ2Ss3rA=o}TU`NO7O=^GeK!e0I7C&G|k_OJ>S`E?a z(x?Uz-`zi5^pbXz%&9n;=kpgIvZ^(>AeyTA;thP>Dl~|A#2D}V`*Fr|%=rF(+Ta^o Oe~Rp|armRpukCL|_QTo$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/find_in_source_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/find_in_source_paths-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4163280544f7407e1d75004d8a0cdc0a40c82034 GIT binary patch literal 239 zcmZvWF-rqM5QQzm61c*~Cd6Vm3r!PJPnrl4YyuLry5gAZ&1Hwgon>}U$iMeAm0^`65{wWd~z%ft4$&+xp9j3f0;KjIvS=5Xbu<`Pou~qM}8H6-p~Hi4{fmYH6j>7TPLp^(DS+?&j{6Y<7>`xzIrW zcz2UV66=G0#t=3yZ$xxu>OTdO(Wg%z0fUGe9ubD#La zQfF1(P&h#)>%2~QLu@ku86%-}hCf}^oJmJj&r%YO-Jo`lcQ`-wXCX(4Au9IBnbO9% ze?`_8JMf4rCaMS26}BD5S^)J3LOADghrVN?ht;UXo-M)or&Bjb7u=x`lmnTW-;xrn zF|@F3`4Xwj_D_V%Ls!*5UG0SyfKSj4jYIf!0I5)Z;SIGR&pMkKI}%hnZ`WAkjYFCi z$mlsENEMz_9a5tyG-_u?Cl=Adse|8 z-`T{biXQv2J2T&W-#2qFRxkOR;ju|MKhn2n=rc1JZR9ofO1df;PjiKA>moCj;;GM# zcCBUL8(%A{MCGaB?-vkf!p^FabHb|%)V{{o4ohLZ8?76@^*HC3utHi>ARAZlq zl?DM8Wu=4#yeTa@M-AzzR3gQI2Xqw>NOhm!eN{rwPIHYb=ltE{RwpPXxt4X_P8RiiI2{5>%{N3ZM1Qy`@$ML6eE2 zg|=3RfSH2NaLyjQfdnDVgqAol@#}irWN)WR$o>!|X}^08W;>LVK@DrX0Hy?lft)rTl#z4o&I@0;u8A8fym9DnOXSgypBIDkc<=TZEUtq*QQQ7Q~M zPfY(!_`>H!u(iqR08A~n5!#|Gd&JONqZEy_M|WCI$~Sua|GjIIb_aT`E4RB%n?%DO z(~2(EU`#|MjSqM!ocm+!WT)4G_SL60t2M$2E%zU^91f0-&jta{iWyQamlnyoiGjO9 z_%yo=#$G*QV574}-=;Dcw9WK~_mH}n*G3|Yzj`Ko6&*mk6>rK0 z0_nyH9~w>&CjXtI@S^m>X|hf@VXFhGh6bcTEBZdA!WL9Ll#D@rU}^5k(!54lEtagq JJFGXGzW|qVJfi>r literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_class-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_class-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..fb1af0ed9bc8802de7ef1e4bd7cc68e75d7615b7 GIT binary patch literal 1062 zcmbu7(Qnf*5XSd_nx)+|Dj`6?!{Gq~RCN=N&X_jJV3RgLbnwzi)g^HgQ`e4ccWe@W zJm+-kR>}hsQ6A#>?z`W8cXw95@q1t2n~d`VeRV2)Y4X8_Y_R)M{}7oUO6|=sQ|KIf zc2*ioahaD!yUnG554=@PQzbLQAI~ID(T=AT=cGTK2<;oZwO^t2Zm?$flf{@XXtA(Z zm5pR|5V4QPb$th3TzaswC_UiF3k$v!Py<0OMpDZ_(}lj&nE>hOXC-v*z-YF08*wC+ z=up6x11m0sbuv|=yM*yhp&p+|Emr#c(IVlIz+CDg;!Q;YO2#}6aBL%>PXw_!!yhc> zoJi**>RNg+af5itnQ(thcOgb$Dimv1=*!){w^VA6tZ0}d4wf|7X1D<}svQXJfH#nm z871mMDg-kc6{6ZB)Chduunnt-xO1Kimetgxpq!*+F`-kuJ;Mq9WJyr{?a F>NgWVS+M{B literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/inject_into_file-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a89562c0025dd77228a1b37462151e9508557296 GIT binary patch literal 1205 zcmb7DT~8D-6y?F}7Z4=DXwZjiNz5+U3?wE#bO2GnfB`jt`miRXGt-$V+i53lX8~FM zySKA!!iNvKnTO_noOABEcb~Mr)1~8G9aH*2T^(_k>twJX8swQ!=R9_2LOFew3dzaJ zX|4^H#ZG8tS03g+(b=+!q=+?rIRQLkW>}S!B6?MD-{hGmA8 zc_VBMn&k6A&2GWv95OND3SzAsf`AtU47{WOc14vU zyfJsWz-aAs__P@=lEs8M_E(s9yO{CaEJ>yy6C-z+f@o?rvuJQ6bvz8Fkm!CYvW!-RS2t)7nP@yWn?qe2G{A&4CjU} zWhwdz7^D%$9Pia{e8n}eGZl7Xnyd+BxpCkwv@a>J7Mv*fEg^FSuPtZ_9GMk{~i zfr&_eng}vp0L4F*!PxD5Xc0MPLRv}>lyHJc@td2#R0=5blE{z2>1Uh(#?jtYBIwL44darIso!Bq}yODOEF#DqoLXf00d5}tj~a#zx~jLSIdK4~c7_ktykGdVhSRN8R)z(FQmNh2K^W~rHudXttH5DTWT zPFF5T!e$!K@TfaHR>uYT%FZwEOssdMA5syZR~T}N2%{_D&?YH3nuGBrwDR1TGTk@O y2iLrAP-kDhPCva@Cub!_wqCj=|1=5YB^Ka_NIVPzwIQVL?y`N1o>zsf`5-t%`|Hhsfr3l3Q}ObL{S=jpG0A zZrX^UZ?pT&eDi(ZJQ#e(r{6wuiTJ^6ugF)diibK814Gy1cwVs$Na-~jhZz3mc+_@_ zT9=G3Zs)F~U3V>FAn6)1KEb2YR$A|hl=0L6zKSwkNY~v*7xDaMr z0k)Q6jxjn%9(>rf=N7MHNBptmS_%p_fqxfd#`&e_CdLGV?a% z7F{HFE)p@0E+Ps_+rY(k3x-IMf*=YUH~&m#I6U>+mN5PNWqv*$7d`Rjt+XpQDSnLh Pmz@0mGrGHRDBt}BVky~a literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/prepend_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/prepend_file-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..89546fd344f0304e9bcc802c6a3adbadc9cb834f GIT binary patch literal 867 zcma)5TWb?R6wZTWbCVhn#4320f>8-+>EmoI^%AMjYBAN9Je1kplie}9Gt10LX#c%) zl13WhgUdcFeCNBIZ)P90e#)mmKHF5v59aO?sj%5}Pd7!sc37jyZf3ef@#?y;E{vq4 zt?>sBu`jY)FOpKHR=!vZT`D(U)KUi3MTLf%vU^r5M}FF~^5yo-m2xU~sxF#wYuXf( ztF14h8kfC^kK&Fd!!X`xJxnT?-BabNT^Me3jYPt0SKdG`mz zpBuR$q{^_MD!qkVFVTSVq2Q#n>3p=&Ppz5h{N!Bug7Zax^BpqojENjP7cb?Qh?&$CJ1l#Xa4QAB*1jR#kP0JhM~Tub{6;S6oV8 zL;zy^@V3EV9q^-A&vU1F;^i3_v$WMvp&ty~LFG|hLFH4P2$t+Tm4avwa0xC!@$;{6y zRz}FUS#cMXCgo%%=UYib4Dn4Y$}TOivI3e|nwy$e!e+(oP>@(uQXI`-U=YoqB&Jc2 TSdyWmker{FmYHr_U8@NI%_k~= literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_file-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/remove_file-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c703dd67b8d6af968043858521754ba0a11c5e73 GIT binary patch literal 680 zcmZuvO=}x55cQ$#W^I?mP+IzlP!4WOaYBz;CnO~KX=PJI>0TD`_p?^h zG0B1~lfJgeze2#NlSBkr3`fD;>EVWCCG&`Wh}ZH)}U1)5`sJ8`$4$| z0_#vb+wQqij$%KwBB)&!?-&dC7mtM+EpyO(&`7GrbFyCQG&sRD**H232*YLTqxD3{ za$rRzO$iH358`yd2L+m?D#w@7RiQur+y60mXJQRDM+fZWlr5$92hU=Vd?sbf>`2ne zjWF$YME8vD8xYCYZ`YG~+Kbb^O47%?Ke>~2qaoDnSo-PteYkZPy31q6`11!lX2aR! z{9-y8@@NB&w?Nr6N8SKg)Y|8Hfgc6wCp|agwT3s`wUqS`JAhNPFP4Zliz*DpCuG6fQY!?3Z}e^{%zM4v7%_ zcHY)TB8pG;zL|M5<9*Qi&QHI6Fe&Hn^zH_IZnDL(Y_pE7G<$TL8%vYaOQYQ@I{L_a zWwlf?HT-!^yAk%TDmf>OszB}Ayf-a{^={EO{KY=ztFU5iMVYsg&Z5mGvn{5TM+X8@ zQxrmHV9{4rOT7l4Bb{nbnhwmW`MyVu50u|4q3^Dx#@3ua+h2NxA|t(scNK0>$(Y9; zx1JpbHwAjM&hW?koNMWPL_ws-!Y!hMuwnj*W&xwb5*0gb0$j|!rEQZC&?Ipk^ndT* z4J;9`j-HK8@-RwH*a<~l$@RsRaCsm{4LM@dwcH@^4cet~2$vIB2}LiYqm2h;>Z+U< zzH(!jmzc`c4){;$bM}@{qAZb`6}nj}mg=7UukzZ82>+PebX&YT^}7;z{Q1l6Y@YO@ zq%Y&-i1lY%QIrY;=Ae-uWRE0@5cr5i0PKm>PG&e9Y-qc&gArtgwYw|^de}?4Ov8cF o@W#QPGtAZqR!HRrqkswg4$;of7cKU5*f@P1?gN!{`Rn)SFL^WD$N&HU literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run_ruby_script-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/run_ruby_script-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5e4281ed0735d23872de0bd3eaa770e26d2d2b7f GIT binary patch literal 538 zcmZXQOG^VW6op+#>*zv-g7{cm#*Km$(Os&dqEf*ZK5#J$$)vY4p_$w2K&n3C&Qmo1P?LYFB zSgJ#Av?8%Njk}d@6lx)2cBs&DODvt%(y`AH5?iyL2kB(tWL>s;3t21eUw)tpj2E=R!WCk(pOTWR-J(^W-wsEeb%^yTdFL7~S8VvH^)k8pef wLuuk8=2&7dRQ$wymK=OnES~bDMv>gzKVRi_@% literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/source_paths-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/source_paths-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3ef442b42e1e09a7aaa3100366448ff9b1710f4b GIT binary patch literal 210 zcmY+7JqyAx6h$2*7CMOFreLUxF4Flqs377}5YZ`vyr#hf+a%;;=)X7UqHwo!ICq%c zVR}6p4sg(YC4w{!8!J*wyorvBhs7X$vA9X&lEQ;B+An|E3340jR&fKfZ>U1|iWVSM zV<&VVknb(J;2AM6|939v@afP>vdtJNc4yNzo__oE^G%gb^8qy%3D6)#PdRE@3)-Pp QHntcY`85am$q@)49qt<);XVdPf*h!BZ-^rk3@LYqi|R*?3>$t=UJh1cHNvk3lu zy`iKKTFD37^XAQ)H}kCegTEYHo0#)Uz3d^SW-{8B0c#Rwxe|oz=sq>phhvgPyEp6q zFT9Z#VMJ_D4(VpSQ+nDddio}XM4WjC(%KBfC90(2F z!4<44fFPh0!J^k8=LpUeHpUj<0^@?vfh3AU1j`lk*$l(o$LYsO(cY72tEUW8)A$cVH@%zxZL4GgBs64TS_1&MT}} zc>RKwIr3Wn+kJN!HNt35)}khBb{E1gG`bSB2BhyzX^b q3)sZOr+;27sF$aN9{z=H0M5=v6?Xh#y|X96CawkV#>&LAkG}!+W*mV4 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/thor-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Actions/thor-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3d760893fc4c78c0a615b013d4dd74d7e8e6b187 GIT binary patch literal 888 zcmaKqO-~y!5QaHaS&~2@6%rEkFfx^B5&3B8q4EY4s!~yjlnQ7sIXN3=*NWF(*|RD9 z`;IpODT>s~%Ilfuotbz1YV$YWyZdGn&M(c=P-12$qa9Uabvik=|3F^~C8(_NN8#=} zZx-cPtHkod1vnILRu-I-N|{T8HQpQ)!l55+S^jo4=a+CIb)v{>@#ZLE!@JUefS?PB z&2wQU9k_%{_zdh6Y*E#PL>L%LNYz|Yx|x8&V^4sYONVj-XxVH3S7DM#-&w2qRSPq_ zQATdu^MloPuBDhLlSaIul2=XI2i$aX@XxkTx_<@>A5jq(`Lhze!yN1JOlg!m7N zg&Zx$QnMBcKkMJ4qf!?%cg@E2Fn^65VkRL(X@oGLGIKkV6C3YFaf|H=m-_ytbK+?g zJD@;iwGZ60#*%80FH@EFugS!KMayat8w3M^lWAk?C7fTtRA@SohOr3Rrj?dQfu--j zEeX5l9k6%8y==e(?RVi%fWsr{*toI58v}eQB(MLxeYm=hn^C-_>hU()zIqgSp`{N= zYli)yegvvKSkht<06VK51XqSy(fSlvhFI`!HzjL3slu!rcj&ovKlaW(^}aAxYb>xM z8mU5;B>bNvY)O7z6x5`D3Y=;NbI_HN{(L$1)#}3Cu@g%B<7e*VrD8y#-41BG{eqlV U>Al`)gS~kl_IwH_VW}Vf0pA)FcmMzZ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Argument/cdesc-Argument.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Argument/cdesc-Argument.ri new file mode 100644 index 0000000000000000000000000000000000000000..54c67f2fb9dbf0b349ee36ca19785194951e6faf GIT binary patch literal 187 zcmX|(u?oU45I{4Csg3O-xVYsru8X3p3Zhe{Gz}VUn{Y||e$yy&aPaPUZ&uu3eK}YK zaI!eae&0*)MQsSLc6g729s^%p9~J@r%+Bpot6*XCHIEWs(E+4P7UsaVPGaza{Dun3 vOO?}wpuk*gd!y2mLhaCoRMTC?r9<u@1r@6h%82!B&}!iyNQux@dG&6QdIoMWQGL@}Pdd6iv)aUUKivITLz?)p_p~ zz|mtb?as;=1v3?ATf7gwb}91Z<>3+FUo@xgsa5i@{;~&&uOR?rQ9-8AY=XoTMfE!( x2(ML68|kYU$Xuv+`?EeE`>lI1K;* literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/all_tasks-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/all_tasks-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5402fa9316cd56ee72c5fb204827ce92fa28dbfe GIT binary patch literal 471 zcmZXR&riZI6vsK3je$`QCM4>inFsY^I6sU5{1Hq*4B}}A^R_)%U1^uLL;3IR7%?Fn z+wZsE_x-#cG(X^U_NWqofm~0>W-5)2xfdRx5T6!JZo;d1rZm714FNm|G^X~M%YV-^ zw2LwpJW+67r%h1jWdY!#%Oy$cLAzg|wk8S`Tlk$Jslv>ID^{AKnclQ?zhB3 CQJTU4 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/argument-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/argument-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d83e6aa1dd64d548474660e9bb0652e0dfb29f21 GIT binary patch literal 1712 zcmZux-*4MC5YEG3$8o!~O@|KMFdR5wNB~>w!(K);MV&QmvL)$Or+e|kMoA}&h)ilE zmCP9Szwby{a$L`VVOjV4`@Xx+c0cl`AKvJc^NCtsqAPSZ+m}7|P?&kWK;_tX*M&Bm zp9qVb|5OTV8#nuH>++Tlt2!xVs`*zWXtp9Fp|-@O34Ov$HQX|9aEsS7F55 zh^pwtyR#m9H_0*!LP47yoCa4Qq`ov6GDr;yhmDhS<`0pkXstGo(^tA^tHenu)Xjxd zxTE8NFSE;jnXKlcGzKA)d5(t0h1}=`=*mg0EJy_wZ_$Vngsm`jHiB#FC6~rJ&^;HEBZIda>|LmsEb#4b@aN=!~TN89NAND{ZAO%yqoCvjyhwXcFP% zq8XqMzz&Em15Vf*xSCv^vfkcmz8-sYuB=0mfzF$3@o*jYd>uC)E3v@i&G0_^?F6mN z(0j2qn5v;5&QA3kR^7gdcZ|l!VOl=LoA>WwtyyV z1^rPJFlgu+u(P*PQONRsKdDekJBqzUaLWpTXPAq+Bw`HkMC%esMoH~}JRw1L(c~sF z4{cpl5_1(=LNf>(S6dcynxQX9UDaM z(9mp3tMQgKg7e%1$iSH;X_k^JKx4dsEf^sQ=YYVJKi^!JGa{Ax?(@BplvBz9A2|Hm zv3^Jkke7t*>ut)O(cu(SS_vb_DAY~H6736|`!SH;Wea*^ormEX%wSl@X4 zdn+j`>}5MJwfndqKVeT+48A-gQhjW{i~Zsa+SJH|V5K7ZE=PAJ+VhJ<|8B0pONh!kb8pD4>(U z{|0o{HekwwxMkueF)kG8RQMkp3xR;ZNUBgSX=3&M)5)X W^u>$W4tsX!bvA16#_>P@9{mU9(J%7= literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/arguments-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/arguments-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9bf4f7fadcbf57fa0d921f5e4b80dbb6ace5e874 GIT binary patch literal 328 zcmZXQO-lnY6h*s`X~&9gTvZn#E>sZd`gP;f4_sJ~s;l7QIekpR#3Z~VV*kCPQwqiX z;hf9e8@<8t^3K-)m0K?;X}?lOrjUooP5va8qC9`qo&n|<3EBHD`CBF zjcY^>!nlqhfv%>QJa@204%V6xkOBwTg2A?#cFB5O)06MZLnuo>ZJ YWxr}tG2>eGUsRiO-ltPFki(11AKJrg%K!iX literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/cdesc-ClassMethods.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/cdesc-ClassMethods.ri new file mode 100644 index 0000000000000000000000000000000000000000..ff3531a9608bf9add83f6a630cd727ef849a2da9 GIT binary patch literal 465 zcmYjOJx{|h5Y2#^lG2ElB9JNu?iVnd0R*gNKp+MWmg`&-tBKF@N8#t=q(SO-@15?w zcXwygFLv|sMvAd_a-D29RK*r~sWVu-w$l3zhK4E+cb^S8#$KdH#!fpA#MVcJjdc5H z8B21pLlY)!_H3mKo@ac*b0{m^#=6#~hWz6@kr~euU8vrNPkGK}Hf~$3`UWelqkt-4 zHNXq&^g#yf0nD}WK^leq)Z>(2K`Gl-1nKu4=F-)Je!c%3((b6#o`*I})c7a5<8FGAL4J7oZqorrhVe zfNT8KL68wUsoUuA306Bto$%438>FDrra`CEAz;xB-w?8@5?ZE{m^6IcB?%Th`va*l BoiG3Z literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/check_unknown_options%21-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/check_unknown_options%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bb56d9ab809d73cade81d535f535f30794ab4aeb GIT binary patch literal 320 zcmZvYJxc>Y5QZ(}5=dcV7mIOi6hu;3jUav@SOkK`>WVP8yXP*q*;)3(2 z52dT)z&p-DX`Gde^L@^eVpjs<7+SX4=L%;}fnrW|#dz`mW<`;HA_Y@DOzVmG`e+x;I=?m-Qn VwpN1mzbt9j!`)(0pNPrz%^!e(Z+id$ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_option-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_option-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..745154d23129b9a201c58762d5ad71eb8132cafe GIT binary patch literal 927 zcmZWnO>fgc5X}K4%?Bz$ph|$yXt_|7x<%qNE~qI5wNgtFNl!Uc>v$5c>g<}`bxVZ! z@66gEBCRjBHS^xQH}f8CUE#AICuWK`)XNL~ay_<9mzS`{hF0GtfS!B(4 zYtj_^!!&guHPjNo8}J!{BM)W<)!0?ZJ)kdf+b9&$t$Pa+y#r`kJ{8N6STG@=w8ziQBcU z*JCyjs=-AtB<;LfO=RLHt++3q)_&dLsdQPuw$|9^C*-D9C6odWF?S5LRg=GFO~e7bFc=pZ7*Y;u^#9R!a#|s^5F38Niftm=K`z zmcugu%=kF`lGe&4zcruGswwb3Ffk@4sUxwEiPV~GweV4e4B}m8?!ag$ot$$Nj3*Zz U984Nw=WWQv;GeCJzyIw11;a}($N&HU literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/class_options-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e5a914f83ecb8ef559d8d034122af04692e66873 GIT binary patch literal 515 zcmZXQ%}c{T5XF0t^h+p+C+lH|7ex`TPEo9iRIn&ky#$d>GBIm6J8^d-*1z7QsY2*& z_swH|Z{9}d8Mhy=IYJ!k#gtsiaWIgczZEHA?HlJ#vbO%=Q_2SMQdmN~sz$Zf?lpWj z*w2el$%t`SZ=DJ=FLJ~ZQDmf@hy9CO7-xe`#@(jpK^XCFM4o!1PT={c<2be;AS`s0 z0w=Hv1CGI^1eRQ-E(83{j@Oo6Dxv3hQd4U!(+inUIGI(rj^76GuN&6@Cd_bl4vA2f zjsQbpsxKP)ETo}$Dg7)Z>x|UzzSrYXw~jx)O<=(VpND3AM>c!n&D2fp9zV$gtW1z=!=x>V%O2P^9NON896fcpFW%jn+CH*7P6`W X-iIF)x!04EpyhAvubMp5QXTvPQ!%K~ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/debugging-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/debugging-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b7dec890fe41e1f7354dd20aab3db6b9909d5e66 GIT binary patch literal 114 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNuNlhwEPtVLtS5gnj$S<<8a!M>twX$-~Nh~h* zO)bgDPbpSLs9_HZx8g1+P0Gnk&bN|=nB|*TlwDe2Wd$_2G&eP`gw2ZEp&+rSq&S)Z E02Ava7ytkO literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/exit_on_failure%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/exit_on_failure%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2fa8d95e7d67ee63be072bf37ffd22410c2d33d0 GIT binary patch literal 244 zcmZ9_F>3-r5QgCtVIu^z(aIFV*~CUnI~K+y*aRVjSY08*Ip;2(yUWZRiT^$)R!R32 z58r#++v4!^EmerCc;2x2v@Zw26(jx$wo7qWQ)pV@Wik8mNf2L18S%9t)hpM@f4atg zmSkKR?-P!%_ZyO9n-RNKd*Wyg@1HY?Y3UL^{52mWbP&qkEqbLZ-d9jJbO7^YaH1n? pHyOG{#j0@0!*?(bYGkd#6NDNlo`FS@fTx@}>TEtQZ;HFe=`Vs5QWyXL literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/from_superclass-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/from_superclass-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8e9f63fa867ace352da1a6c2b455be0bb2fec37f GIT binary patch literal 272 zcmZ9HL2JT55QTe?C=}X@y=V`^dTGIm=P81=B6tvrw5J?onoPQ(Np_i?75eXuN|E;Z z_;~Moo!$rbw@a5HE}EYWt95yLTPCJoh^u!YdX}uB5X{rNb%OXpfe~Mi(U}gTf8+{p zyg21dId?cbmv2bEqepC)V$F>vcs=(d8q&n!{a@ydguaBlO`dyc*DSZJQu3Yy5bUXn z497*dxJ_VPK&c>1nQbw(44Bb5T!5&2L+9VQH#mZXd$6q)F={TA&CN3R}FUqyScrc%kCa{i9g;wsEo-} z@4a~+XT2|RzMOL=#ItD@*H5%8&yu36Az-SWD#~ zTsfU77|+a_6hi5}SK20XgL!PasK2$iL~{1}v< zLg1jZh7Ey}d@y4OEwI);)L?KPO^!An|LZ=}Xo~kxx3dzLe`mcB=F054qOWOBTE!yv t^zD;jySF4y*6}oMH%G~Z3CR7*+wkzSYRV1k$H^q^B*UAQc`!=f{sN9mjg9~S literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/inherited-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/inherited-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..cc66823f5efb50e5a66477c4c91bb90fd1b60186 GIT binary patch literal 255 zcmY+;F>3-r5Cz~AauFih*coA1i$n-wJ!ujX?F0!)b=Bl$Qwt=YVk`5mvQNNJ~3`|P=!-@4`UhxKHkVn|Z4M25ev1Y4B~ t2-;Clv}>L~c^8tgf_a90dvjxoC2Yf?eKdjZX8ak?=JWi<^&Zb^`U~NyR(k*d literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/method_added-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/method_added-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c00ca5e03e75ed9d1e68b486ea466a6c8fd4af0f GIT binary patch literal 288 zcmY*TJ4*vW5Vnvr5Ksg=ErzvGi;&i_F+S1-M6|jhOm>Ita+lp>b`r_IcQ2PhyN~aE zI{L<|&$na|XK}w^^~u#2p)!}7174DI?99WLPlEVDnGs)G%6YKn+rPFso_CUzt+Gpa zJ=88pnr(+zHntm%TH*M)Bhg$}32**;K1gUS)cNXZRG*pmc@PHmA%ms1U6F0z$8+Qz z3lI#`P}IZ83C#MhN4k*0=24}D3P~B1a+6`ThY)wE32|MT8LTiVFMIKroJ^ zc5y|{f~yI(e5kaEZ-NT=Cnn!KzamqO8KFR`Cwmgq#2!Z-k6Cw?mi>{_Ggf2Sk7sabZY^ZTJPW6#nhpr}z@ zQ&ikWz;%8&()nayKHh!McaY-kLKHR zp?og=6hsVtGa}|cNIAXP=6@y(WqiHzUGdzD`@bcc7O27|*0O#xt_B3_^K?b${Nj~$ hgeB-|cgz6`u|JF#3F!pZ+1X;mj$Ve*@05_Q{s3=M2b}-_ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/no_tasks-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/no_tasks-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1e9c3166b33112e7bff9000111624d030deae702 GIT binary patch literal 647 zcma)&-AltT6vg`>-A5S;69nhOC5q^a_?-EmQ}o4wI2B|MR>HhPbN-4dO>mj!b#m2iLCLO6J7R}O-)0c(Pln&5vN^dhXCdkZj zExD&jQBE_FD%uNPL)6Q%pwt#MlcR`!C@{|T*5R{=@L+Lkjerw=0s?qN_?@kVvwO+K02pJ^;=<0ccfsg zN=Q)xQ&jca(N_95uBT{4?r$8B1^_usJwFWBqg0E+!WH;(NZckZa1Yt5D{-EFn)s=k z_Z)~zFU-WfF7X7ba=%NOT(U2t`s9~xzCWW6-Z!~1Gs?49y@bjDB?HZKwc;Qw%(Tj@ rzrGmAgt39NpLnM3znK2W9-!;2;dBzVSA0N!XRfI(Ni>c~3-r5QgCtVG)D`#7>LlLO@ZDt0x4KD0YH~R#(VyH@Zvic9xyFK>ocFO=17= zz29SR55w(}D}c}NyC!v9m(Sj0gP45K14s27B%AFVCx9;$0$4OCa<%eu=T`6(6Dw6p zHN)sSyvFq1MSx4CYbmIK{zt^5QW}Qwz1d*GQ^M%XTdy=(zNL!%4~a!9q?V8N_Q+zW i?O)rfqc$&!@*#Vjh@+;N|D(A*CGO%OU`y}8H`6oxSy65P literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_argument-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_argument-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c0d817835921342618756d5fcc5425279de99bd5 GIT binary patch literal 616 zcmZuuO;6iE5Y3^oaYBSDA)&S$M%znU0peJV0TC!wBSBm7b@2g><4Lm0+H38s1L?1? z9XE%NUgj|G&6_uG-fTVK?(H`_LL3x}8}?J1B|AD$yN+`^=O=QLD(Awh!~3aqh!-S` zcxgzaWy{A`%~(e^>Z7jYp zRLrhx;m#etU-$HbDbvLy#IE5v8y#Wf`NgZ9+AQbn*@?xy^_goeKCJK5o^wfpjVu~` zSYr*xP|8NVEhuL>88}Cav*vgkM@GPH?jHtu$?d+rw{WAyXa{ncIE z3*&7a#eLPkdZD~DEDdR6`y;!Qyv`f_t_lIvyH{TX99ye`7X11@@BlC+x2%8ax(XXk T&%nEikB^g%>VNvOyz28`&IiYv literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_class_option-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/remove_class_option-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1b87a011d2a58193f0268acf1e9df1347023424d GIT binary patch literal 569 zcmZ{hOHaZ;6opxsmhuQOG12%)CgVno8r23ebr*12hX6cnxmR6NRB%;bbb9))N^UE+cwBUPuMdWf}pV zGNqW%mwV_JsK$ve_*BAK;V@uonZy98T@qqsEU30)ri}J#63(}oPo~&hv3Oy*WzV9w z!#s{AjKm68Tqc?XIO7opB#%gnh<7_5bp?x-{S+*X;B?#L6s^1ZGlFs{oq+0XGDErt^cwkl10kUYpFH_0v8+c|dkQV;y& z-OVMXAqe-dH#_sqH^13Ot)KGg?MI$T`QB7F*Ff0m4G9$UyV~bIUpSOgV^#U>2Qp!#M=PSGp3lt{`PYpyp6X-W66n!J2W1Y2hT7iz!fTuQ%&L!O_j5y?w;#`Mzg$Dh8o;!N9T$7 zG6)W6j-_5}u?dc9O2IinjztlTgdXuXj@5-h>7!eip#fJGg|5VvEKQIJ(r|GJ-j*Sk z;XbyOT5oF$g|_23xFfB*+&gHDwHw@Q`Ub+-iD5sflYJ6s3}gyVf2^;Jio`V z!CtdUxp$oO9*ZYjc*Vw@57A{0MH12fwILQC2<+pkUqHRoh}qTr*U-efddFLy>HjFo agTAi{lI?Hb$5&@(lZH5a^ENtnr~d%g=o9S# literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/start-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/start-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c8c457120c3e391b41e86c37c66d8c307df233f1 GIT binary patch literal 591 zcmZXRK~Ebo5QRCQ5XgZGHxQbdOCqhJa5ailpaNATY84=t9FVi?WJlSxR~~PorRsn0 z*e-{P+t@Sjo9E}l{;NEjf3vxix2BtEU)o}Mial{cUO6wWUP|kvyi=s5yss2dnxU)M ze~^QwT~(M{d7daU<+g1jB_rEf8{dZovmYMgF9_NxeaB2hFuts%Cmx1c`zt`1|6E6-KN{X8pBJ81a*8M zaMhA7U|%vS2pJdM@RvOqdPl%_uSA~U6bz}IxhR(Kp(qTCk8s_b)i%$3K1iTGo zP`u8% Y<$?Gzj6V>1G`*caEV!Z literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/tasks-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/ClassMethods/tasks-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..27111d4b519110ef879f3505608035bb31a3e23e GIT binary patch literal 444 zcmZXQ%})X`5XCu|T^3CAU_zoEnsU*Y5YB@Kz>i=8Vh~SzD!U_Fx3rs17v;aVyKo_# zCe82ly?Jxi{DP~+vq=C(dN)ItnKZtT0dF}$Iq~i?GZtVh2mzjyAlhrFTk}_F7v)OH z#K6toWhQK1769I|+@N*=w1Ejmm#a|*|)L& zC5csQu%ycGo!E?((D_tqY<$A?al!;eD)l;qmclJ68A0Um&++p^l!4Cihp8kN`jw@_ z4aLDpt%|>SR%w)2q2iZwo1(>ZA}FhBm_bz43HjqlGqYzb^N{^YmmPX(u|Z;jSdKeC oby^n$So)*$j#>R+;%dGXszmBRYv^_bLi9dgzV!QXgNJwb|HT84a{vGU literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/cdesc-Base.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/cdesc-Base.ri new file mode 100644 index 0000000000000000000000000000000000000000..defa94d29738a38ba0d63a632a4a5c1ce263a0ed GIT binary patch literal 236 zcmXwyF>eAf425r~xZ{q(z`(%fU%+gHR3TOvP^%6ePzXjugd~cS^7nf=#A5q>dhhw8 z`N73;=QZNN$A_|ef610M%@slv1>rQ{9O3>|gk#&M|v#dO2V*AIKXs-Px8l|^UJOS|IpIYB^;W{we5m^AYd zj05H1Bm}kOLk6_)P^eg7+z0Ovav#8#WW3`kmx(u?3JlG&_AWP*DyX`eJo^5rRc?A= z9Ip96zs2z7%9GIuR44*Nka@=9Jb^AyPr>A%tYwtHDibifhjM`dAy#E+4Q7ehVJ@-o zmCay`yoGU&m%J5$#fTUZKUiP;E?+(ry?p*~ z=E6kkvdD&T7SrA%BkKA&*Xkat#%RS0);10sLDTE;PtB~MA^T(9(_7ENY}*9ZtdJ*dc(nQ Q1AqAU-+s-9Q_jb|{}$&yoB#j- literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/options-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2bf720b4323c464ccbc5b38fbe06a5b363f92311 GIT binary patch literal 96 zcmZSK2({u5a>-A&vT`gbDT?OKWKiPCFDS{(&ns3E56Q?cva)hYEKXI1iLnQTTX7eZ oCgo%%=UYibbowS1WtSFMSpkhH%}vcKVYA|PC`c?SDUN0U0FinghyVZp literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell%3d-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/shell%3d-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..8e6cbcf2f7633fee0c6d564ba3828a8f05cc2342 GIT binary patch literal 183 zcmY+7F$=;l5QQBi6e_p~4myNRIw+k_1QpkUXq_^h?O{q|6LQJmzt`Hy@jc%6y>W7f z+4XEIfMfSAC}>-&X(O_fH5s$d=B2hC;Dk&7LsvrT;=?qRg~fmt=-cQ3zMlA^E(k~u z4t-!HEG+*w7xeh_=(N}+N@SZG1(rdR{K;ixs%6tjG)DH&L`;@B2J& z?s~k&yXB`?#P@ibb8)imZ+&NOvf~iU{mO|Veo$t_;k3d@s+-`g;KLc5lm66%*evzH zv2-|jOQa?Do#5kTXF*DPrR2KTaX&KOODZh literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclass_files-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclass_files-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..35e1314bae4fd3b091c140313757ff046cf01f93 GIT binary patch literal 315 zcmZXQJx>EM42C-2y>IdVfGl!$LYeKj(Zrz1lOYdY&2_@4f%e`NzAC}uI!~~O80a;(o XIW{XJaXk`uKmT|h3{*#U&(6OA2lZ!G literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclasses-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Base/subclasses-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..974c3ebb6b235ee2610ab9c43fe037ae890a18cf GIT binary patch literal 303 zcmZXQv1>vx5QiP)>8k}1I@Jy#Q@a%Bb5UEcLxp1P6gr&Gs|m&=ToS4OeV;r*q;SJ= z{P=z!*Y1A7-SX8}08@8dP||**`lgWmnAerX7%9r(N_z&FVI+XdeFeRc*Va@Xh7DqY zyvqTg=H)%PR6uVMkW*BphllIT2QqFMgD%EhRmjPbQf3!L(j?Bs^^Qpxr-@C9;)nfS zoK!?TjnbTb4$uGCGmCEbZXC5f;r_bzjc{Y!wgWeo4rEOUWuo6CZ_oXHTsA_3DKj3` P%jpN-qmgRK&g0V`)wE+8 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/HashWithIndifferentAccess/cdesc-HashWithIndifferentAccess.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/HashWithIndifferentAccess/cdesc-HashWithIndifferentAccess.ri new file mode 100644 index 0000000000000000000000000000000000000000..2567a6f81f98267708cd5da3f2a01b29395d5de9 GIT binary patch literal 569 zcma)3O-sWt7~VnJv2Ft|f*(kThhB7dGp5cdD5!||aR@uSOVc&1O-hnF@zAoM1$fiyE{ww5`a&de0+hm}{tuXc*H7pN>)C z5}~Dwgv4(q1R)dxnV|~if}vXTOfazA3^qhBOOT5@A$e;f(<|3Au%hyI+c-uD7r}6Z z{(IelcS+omx|>Sk67=AfALYppD2mS>^t)>^!~hw}yQ327`y Q#;Ics6Mr`BhP6jqUo@<(RR910 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/OrderedHash/cdesc-OrderedHash.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/OrderedHash/cdesc-OrderedHash.ri new file mode 100644 index 0000000000000000000000000000000000000000..f6976ce7d2c56b8c0ddc3fd4b087424ea6b68a8d GIT binary patch literal 456 zcmZWlO;5ux4DA7})jB3lTtLF=517Oa+zVoSN_=S=r=GmjTcfr~m86XQdzuU+5Q=2Q ze$UU(K1km2cyXfz;)^ydHS>n7Ev7Qcj$Td4hRX-CRd%+lv_YI}!?&Lf@i&$tdXC1E zz0fn6y6+GN)xKrrMwni8WSlJ$ji-M(Z)9j=sH;YKT#T}dWhE^L?*WF-iY%9)6}XCF z(XV!JKDz|H_XX83lf!;NQxNKu3t4$3{Z^I&S=NNaT(G{XXFPt_DOaqm35>9`>uTKYk3;tq=>!%mVT1! literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/cdesc-CoreExt.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/CoreExt/cdesc-CoreExt.ri new file mode 100644 index 0000000000000000000000000000000000000000..b41d651d2b93526577a91927729261f6ee866945 GIT binary patch literal 179 zcmXYou?oU46h%9Tscr4x;^3AqaDH6`b*zKvlqseU45m$Zc@aO~w#tPI=U&btzr*%= z@&@4Isn@RcU2>>uo5||v3C|yvo7>Y9z#sP>c0Z%l^hyC>)KiZGFQGgHO&nGBk5EDu v#_1SUt^|}JJ)AY;DWDGI84Y7MV-?80HRA+wZHLHuFgRIFK5flv?m}f>Fmg05 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/cdesc-DynamicTask.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/cdesc-DynamicTask.ri new file mode 100644 index 0000000000000000000000000000000000000000..2c5df136c3b7d0e9129e9b0c3833180281c25b74 GIT binary patch literal 287 zcmY*Ty-ve05YB+&w4oJK7Z@x*01t3ksOSnps7#&?$EvNyKe}^3ygg34fNr__e($FH zfZh8c8GzSB0jK8)nf2B;>hACpF?e%CKC9i)B?9;htrjA|{nh<~be?lnBr^vaOAGx| zMk=h^1P}i;Z%B9|%&r}TZWZk1c&(D9M#|!_NQZHpEX!bvOQQ^)*~gP)V(7{I;<8G&9ScQ Jg&um{`~oCmS#SUV literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..4edbd9ad6a220d6843685041a91ad0e392d80988 GIT binary patch literal 123 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L$V)9(k`BqpFS4?7smx2v%}fqSEY7yF z0*Z%NaTk;(tvM>7~0L^CK!XaG$} T)ltYVD9OyvE4Izc%+Uk@T|*~u literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/run-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/DynamicTask/run-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..395ecba4b9407d3a45997a986428af1e062e7aa9 GIT binary patch literal 122 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LC@RfUk_ySlFS4?7smx2v%}fqSEY4O2 z3cFcx7nCODWG3fZNkg>yCKhFv7629ICzs}?=9REnaXSL?@@r5D>q$7%uqJ4z<- literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Error/cdesc-Error.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Error/cdesc-Error.ri new file mode 100644 index 0000000000000000000000000000000000000000..7579ccd00a04eb3032063027c0cece2f3322718f GIT binary patch literal 614 zcmZXSPiq@75XF56@nR<-^w3Ll81|Bj@duDEAx$9=C(hr~p2pgVSF9{8Bdr&I`;O!` zX$b7%3Iysc}L6hNd*Nn547CH18+X=r^IR%GR{H3+Sfr|87=C zc=&mb2H-2^0mEBBBE9pKy8G~bZ^r}DS=}F8%m9Cw^~^_jykdy8N=ej=vPR JnJsOjt6$P-A&vU1F;^i3_v$WMvp&ty~L$;eDeNzJoYk`2koFS4@o0CPhUi?fxX zGHzDf1*J(jnaTN9(hw7T6N|D-3#_bw#+Bx#=9REnaXSd5r>ZtQDnUw_;mt)4hS4C6#@l;q9Ke5aG;o->nz}ApfOI7GLWemNCre%M zB>NR22rrqU-jkdlC~SNx$x?`*w9W*(h|%D+)ILzn#7I?1xRB|iPT>92 Uo3{*YV=3oSztYNL#HuC9J|A~M%K!iX literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..de3cad347dd211d78d502cd1fdb91b68be6fa38f GIT binary patch literal 2593 zcmbtWU2hvj6zv0YzMz1pDn6p>GI^jWRw%C%0>re1l%y?g3PM&Cjn@-<$a-eAGi%4K z_(A**{ut-ZtnGCZ2_*6m$@6jVxo6I~ci&lmCGT_}xlGDKJ3G-~O-pPUJ8_p< zY@d!?DdiDekQO0i-BfpfNuBzxKtp*Umn%vCwMCWEhZUlW5#Cwmg z)VRpCk9gkJ=dZf#gSRm=|Fu{n5+B7JbV%Psoru<^*dY9gcL5BvI$qi06|8-b_#oL= zWpjOAkLb&h&T}W))Dusg|NAd-wv4#0?SOx+rubi>xPnI5MnRox1>NC-BE0+TlHFzj zpA=Q_B;qdZyy5*n#S-W|MI&7;-!*YGmoMyMGM0_PV?sOQ*ic9?hot&$GMAI5Fm>_0 zy(Gc)x5cyR$YdkfDR*{=1K3B1DADvlto(#e(2Zx)u})KmXfB-@bj!^GhULdgeT@9f z2R)`4oTsg?pza7;B^5%iwRgzbe1?B$590Zeji7WASSktT;$F!aQlU+GFXTXfR6fKo zZGu{@_!5>h;frOSTm^J8w3x_8&E0A(C(%=Lxh8-G>eW6fy!p2H6FHc}HU?s|tNQu;z?^@FB1 zaGMSGaWvSygt!~eB$G+`W9h15sjo-z%z4U2a_q9p^NSK9oVpTCTZUPo>EK(EsqK^Mn(R02Usj2v{(g_j~yxe(Hm)d(P``Lf>!Lvgjc}X_lt{Z9;kTbL# zJ1;RHYLu3wJT}8oh>YTv7azK*ol`Fxgx-#XiUy%lcDuFFuaSDNN~#aDT>mSVjE`x$ z?(}u>^re9jl5Tl6rf0`E%5({9xLP)=CC=+;!?hR*-L81iuosJVG27t6C_K#1p)#0K zn6D_0XDvE=sWP?@?8t1^m&A7TZM4$Ru?qnMgR1GAHF1K;&XS!f%#p Tmbe?o!htn;n;xK(_}za1Ig~DT literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke_with_padding-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Invocation/invoke_with_padding-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..dfea51160cad7e626a1fdb3331f572bc78e1ca81 GIT binary patch literal 202 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}Q$jmFt&rXdm&n(G^FGx&D$;?Yv(hSMS zFS4@o1WF|*mSpDVDPvLPX2o4lnv|27oNpx!G1)hMv>37ZwSLqTFu zNpUn=zLgBBnt;Tj#Pp)Xf($lmj%YR|MUY+Dsl^JV#Xtur6lbL7q&y!PWYi48S|_4yUIHW7I2GsmoWtCxgk6e_A_ zJL^*o?PEYrQP%{w|1%%R_{|uGx)Zuq4{LPM_VO@TFHt6pqdZ`gTgtw_lbf8RrzBn3 zHI`Ul3YMpzdtJ>Zv`~$i_b;@7HssCZOtA#4N;X-OY(LXwV7JF)k3?NK9}{|Gb@}Sf Lk6PEv*y`#Rgt1!M literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/MalformattedArgumentError/cdesc-MalformattedArgumentError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/MalformattedArgumentError/cdesc-MalformattedArgumentError.ri new file mode 100644 index 0000000000000000000000000000000000000000..40c40c77df66745bd2e67d821c31032c35e5d777 GIT binary patch literal 230 zcmZ`zJrBYl5ba>3w%W&L)_An#jzcC9qwfM}7fFE5J#{~zW@(_6uVvL-1kEWaTQ z$9LxdVq)?eL%DGrgJ;=q2qUx*sYT8Rl&-sJCE}4l<G8nSK1bwu~oWG9f7^NF-KR*kEMPg%3dUaH~;y5BZ? literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Options/cdesc-Options.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Options/cdesc-Options.ri new file mode 100644 index 0000000000000000000000000000000000000000..7bf9e7798ea8a52ccbe7cc6097100684c1ff5c5d GIT binary patch literal 318 zcmY*TJx{|x49$R&(v%Dg48U;8!h-k#&ca6}7NDpq(@k#TCMS~f$#<#5zvmKQK(;JB zzxVunviN|D?V4+VHg@B57LeU+29$jeyp!3pQ8ha zcV;Gq{NAAiuTzHW|C)CcYz1AHR+-Mq&8{PQC%n_GD}T literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/RequiredArgumentMissingError/cdesc-RequiredArgumentMissingError.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/RequiredArgumentMissingError/cdesc-RequiredArgumentMissingError.ri new file mode 100644 index 0000000000000000000000000000000000000000..3f7dbdfde97aa7cff33c38643a148244b96ef878 GIT binary patch literal 236 zcmaJ*JrBYl5ba>3TJ2<9oMiDoTo;WxIMkuhi3usG#1`;?{(f6@HkZ8Q-Mx>Sq<2_X zCnEr^20Pv!TkagoRYJFwd9^!;wI4(ReAmtRr1mR6X}{By_2? S^IQwb23L`eyJ8k`&XNx%TT5*K literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Sandbox/cdesc-Sandbox.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Sandbox/cdesc-Sandbox.ri new file mode 100644 index 0000000000000000000000000000000000000000..80a943396ced82b16fa3354446e39fe4c0dba8bf GIT binary patch literal 179 zcmXYoI}d^|6ona#ML-4@2eYii3}-)1@?_vGg{57=ONim|(n+ v215|JU{Jc$87-%iLG3(6C8O#Wten>$jA{nH*EU47Qq5MA&s(!wx)9k9M@KYR literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/ask-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/ask-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..327a3379c82159be2c6a43ae89d39fbc55110a45 GIT binary patch literal 320 zcmZXPK}!QM5QTe?b=L}BJh>tvy|f_Gn=nPRMa4r4Viga28h3{#Y&H{;Y-#_!k)DdT z$MD|w=AGnUaQX4fHNf2NR}>XD)rHPvj-i$1r(zGVR%8so0)wtc>HZ2s*Z&w@Gn9wy z3VquLoN*3cBw55)^K&)_D0ww?kSuZ+LF-)6p?mOp12KVvsM)Z8u-Z(10q2)zi~s-t literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/base-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/base-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5fb263d4b9f880d463fc5d0fce8c1b47e8cad136 GIT binary patch literal 98 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNvN-R!Qk_pMkFS4=<&PdJ4v9fYXEY3_;21~F9 tgDf#!fO&3^B_wMPv zPj`{OvFpvF6^uPw-=Tic7y_TF5ft|rlz`>y&U(hSJE=8e!>xR2zN8?_ZieU+`h9ea zrJmSHLzk>vJMg62G9rHhSL;%Km`^Oh1u zwkJ7pUVS6Uqku}8Kxl;IDRrCk8RQuDP)P5shsB4|vKCfr6_hoQ8@qz)48DV_)MTh8 zY_x>=APyd#lP%-{dzhtBr+$h7#=Q)y#2E7u=524VQ=&eomUgiGBU6C-|2J}xU_sJ% W%Ah{yD)P~Y^a>QwsGnnd!AHN8;eQ$c literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5ac760efb5eb508289e2fee286e7c2db540ece63 GIT binary patch literal 205 zcmY+8I}5@v6h<8+76b)x(;-9z-8x?vU$_;-$CN=XX*9t!Dd{cJf3H***N?+FUpKkJ z__PlSVB?!ilL@&TS|&z$7jV44k literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_stty-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/dynamic_width_stty-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..97ec1ee52da9256ce6a4bf987b2c01555c9b029d GIT binary patch literal 139 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)PpQmH%*{-WFV9RV$%rp5DXCP_3dzVX zva$-!NX^NyvT{l+&P-OuROV*IS5TB+lA2tSnv!oN4Kds|u_(K=z{(0}Q)zB$UJ08O Vw?jc-A&vU1F;^i3_v$WMvp&ty{)PpQmH%*{-WFV9RV$%rp0C@oRa3dzVX zva$-!NX^NyvT{l+&P-OuROV*IS5TB+lA2tSnv!oN4Kds|u_(K=z{(0}Q)zB$UJ08O Vw?jcA-TvegPu?F{Bi^}wMWNxkIxUa3SdOFF5p)T@Tn&?FSp`}-P_|RO2T{gTGEN+t+L0r*X4PM5z(9P;>zjcI s<#lJQ&BKMfjtMnmbt!zC6T2Z*&dezUS?=bGMYUHRU;3Z|3qcmI<2b8I&HCg;svb7Y5oqBuQu-AItptV|` znLy>6q2#mPZ@Y!1lJ%>dHS%2yo4fW{d%amG2Se_X`5_1DJJUT z9E}aIA!#6;fqy>%<0|kdop%AmcL-F2G`N$6hC5rq0@YXU(QiBny6s9G{SY`R{e}V_ z!(|Ny7M9BuP=F=%=#GE{x`5F*8g6ImgU8Uai@Rp`T(XOv0yX=stfIO;evs$P8n?P4 zhoiZEIgI)RO+{`w)_WFvw3O>y@VBUg#9)nrKCpg1+_|D4 zvp}m}R2YPuk=WkJTztHE8qsDv%@g8G9i@!-L_2`O5ZLw!xT|BC5_ozzo<3HGTO21h zp39-n%sAjSoiX+=Pic(&?jg3V`?*%5l6_A6(P4CU*u0@@H`+j@zQH_d`dh+hx HpWgog`2yh^ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/no%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/no%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..658043df3fe9ebaea6b2f49c7c0fd8fb7548153b GIT binary patch literal 237 zcmY+8J4*yX5QGh6UA(}=Yz>+*Q4qPfMSLJeE{Kn4qjs-#h8w%bo}R#e?|DY1_0?C@ zZvTphPj@;a-pKdJ9(6Sxq%QQLS7CUGYKYH~b4I+Sn&#t8evgaN-g251hd*~DTepI^ z8ET&_-r?f9ka?Xt#iRe7M>6^_DzUrhr@inn(wc$bt8w+D0v;J$p;a~@S%I-PlL~H) pA-!+;78;kFxI&NsYGFT!hV$ie+6lu+b#nfFat5;mDI2vV@wBCEC{sSajMy&t< literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/padding-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..04800e1a33a0ee64e7343b0767b9cba8be0254db GIT binary patch literal 104 zcmZSK2({u5a>-A&vT`gbDT?OKWKiNMNK8q|%u83256Q?cva$-!NX^NyvT{l+&P-N@ w$*~88TX7eZCgo%%=UYibOz=%C$}TOivH}`cnwy$e!e+(oP>@(uQXI_y0D`R``2YX_ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_table-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/print_table-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7ddf62804568be52d6be6512d5ff6a7d7d8f71a9 GIT binary patch literal 566 zcmZvZ(MtkB5XOB7uTvu76QV#4A9|XrC@D$ElC-BoVm&8sY27_`=PHT*_wJM; zv6o$z@0;H@GrP9_1hvO&9RXaaSr;kR<8V_Hy=r2FqG#eGiC%pWYXi`aQA&Uow<4mEolscl!~Qbr7Wr7Hi325xZzzQeF5w4xn|a0*360f(yU01ZGKSB>#o4DU zbkblyx9|JIp$QH<9w~(u>>~8`M#YMjF1S@(dzwSZPM$NtOcIie+okxw zo6MHN;w>-V%l9igyT9=5?S-ijzv=ayLSsa^Co}fiI;q3&mE+cuU?1-q;}91ODTR2> zy{tZLZG6YE?UqVb1`jrTbM78Gix|nfmUPH)d}g@|zML3*zrAzA9j~KQlNGz=kj-zB zxCai(=o);8V|@rKvY;tXbG};?{w@rN|eHg~NWT4iU*^5dOK8sk|QG7{? zy^$hjKc4A8HM!Fy`d|EXrV|Lns|Hle@~@mtei9IWWz#+^*U%HeBUc?wadZ~emN5T$ aeRp|uR1Vnwrzd1kwfg!t_^ zJPs8%kLR23^KmGD98m-@k{SAqYo8=QXQe(!wI{9j2)_P&dd#x{#oq19IKj`Ds zue~!-pZvMK!My8})`h6=D9A`3ze$*dmy@WU-^YB$jBUnbM;GJeSbbdJ9;%dGkQz94 z#exehNCdG2JyUMrYWsWO!c4&sP}ndGPAnh{)(LS!L+Uza5L|Y1s!Fz`H=; z7(x`ll*&16{%XQ2*!rGr-N2_Jmq1)!z z!Mp$t8g=tu+DngNcU^Wz3;pbV5p%*#iTY4K@^nkyP4qu&V#bzcN=?B;AM-3YKZR|~hE@f>I{2IYgEbOY S45vTgtb!lkrG9x<*S`Q>tgUJQ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say_status-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/say_status-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9a64fcf9f89e4e1557b5c36c2fc91299bf5691f7 GIT binary patch literal 444 zcmZ9IK}*9x5Jo*nsPxc_H$4pNp$ehY>x!TvLWP1DJ>?*iWSb0bcH_=&Oa8rU6R>)n z*?r&l=6LchPhTHxDdoNC*UC4x%4d{_8Dsy!9(`aT-Wuzq%o?S&ln=;MUi_|~rO|;1Rwy-*u m5Z8miKNk7<*bfJlz2IWG%#XzUa=1YXqhESZs$%(}kGVYGqA$PaSWY3U)ufZzK z<0~HDJM6#X+5E{H#D{iUaCF{QCz7P6k+qSQ>d%eX=+djwc|}|}u4}|cT8p{dSEhIz z)JHavt;h5K(}Hx>1;oEX*KivXJQ@YkxULe97yHf|DJ_+POYZwsFCCRm)?mD4*wAhS zVGG~t8<^9Ihd@6hHGS0#U29pPn3dNrv+?A0F-fzr4_lR`i!d-5+~oP~aK}4%mIgjp NRE*2>>LBe6vR|2sR9OH3 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/truncate-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/truncate-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7fc8ddb4cc3d3cb3835c38c81bab7cd459940da7 GIT binary patch literal 132 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LEh#F^OHM3FRZ zN-WMyR)$HsS@9JV<(H%;m!ziTTS-F<@=YwtE-kRK0-9Qyo0?a`X2tDLkXTew9L->0 Y5Y3<@qETE@l$n>VqfnliQj(zw02!()9RL6T literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/unix%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/unix%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5819921f0541c29559a89cf2a6402296025a062f GIT binary patch literal 113 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LD$UERuvd}|$;dCVvI@>f&B?K{a!M@D zOjZWVxLNTP6y=wsCYPk9@(uQXI`-U=Yoq I#IB(U0OnXDK>z>% literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/yes%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Basic/yes%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..fa7810b13ae8cfc7646510c241aaa31724f72fec GIT binary patch literal 240 zcmY+8yG{c!5Jf4_60`*kT~drp0}?{12O%CpR9OiHsJ0q5lh}&!nDMySzt4k;`rLbT zPA6Y@xqOuY@i~nho0nC85gKL=s?u9Zr|qa=JWoXqt7`JvIq>0&z^ttod~iOBu|WKKj>Ru=2-%QO0*F? zMbBDQJrK!aMB*3~Anzj`2!)W4J>}vYISE8N>*6m}lB)thgfT?+gfbE`Kq<(C$HjTj z3rVO?@}q<- z0!8gx!`Z^StO4Jy6F`Mj^FVx~_H!rS-=d8audQp1v?teew)VO;(thbSQM?YuH3EMdH?F4F zQo2UoQM#9k*2TL<;2+-Ugss(U1RmAXf26&AjkqWKdVxOi&8WIz20@-k#JQs;3W uPjbN}L=xiab({;jCld6FbwV?BeyUS8P*u}mU|5slcpaz(Q-3ra1-+jo1PoUI literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/set_color-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/Color/set_color-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..33cb96b9709aa73ae719c5be712bb4bbce68fa3a GIT binary patch literal 417 zcmY+9K}!QM5QRO+QYq-gn>~!{MWK|QBZ8$WDi)-zr#(n^Gus5yOh_h&{(G~#DhN3Y zZ(hFl=6LiW&espr2(fU76|yE(otdIMjmV!3SqkOlR#OmSqtRL+mYsI>w|x?0pK5Cw z5*Gt!CBs+pLS$&#qvJx1@4XBhtAfPjzvo>BxeLly4hk=tH4CK#IogKtklu z4HSSJ0=2*zL1Akgs_b@=rQa1rIFSiKzffZqnB@wi}f!% kE9K;;c0f*{>%HlZn$73cQ3=;W{B*c|+Bdsvb5p$e20vDg=Kufz literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/ask-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/ask-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ffb51cd84a44afa23b6a4943a60cfc6fa5589e3d GIT binary patch literal 375 zcmZWlO-lk%6m=1kA3>W|8gY4T6r$V(SE39H1I0+A#jI}Q&3Vk5cZc`hi2nP=gh1R~ z4(H>Zb5j4ri;s~ch(o)ba!6$vpX*4~$!Ds)NW~$}Q#J;1yqHd|EBF;#Mfq)XBG}nW zr{uD-K&*VqoNb7(^;D1xK5hwK9&+Bv(aKSgMuU1Bsr#YNz)M~wYrBFV5K@NHvjehA zaGbDSvj?h9Ux@X5dt~`+$Yv95xi-i4VcM8!S^1t~)9{*&ZeSzuCaANQ4dsPl88r5P zTvf%o>MNxH+QU{#2bOYvR6Q9qYyY&n#cVV~c-v`rO<^|({D_02srvo6raE08DEv`x MAQ2<(!D`d{1s9BWH~;_u literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/cdesc-HTML.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/HTML/cdesc-HTML.ri new file mode 100644 index 0000000000000000000000000000000000000000..83e37da55c164d590032d6c66ca77693b2c72a77 GIT binary patch literal 1804 zcmbuA&rjPh6vum*`n%l?O&SL)hi#|c*oJ#qe`J6b+Nl&Flml{-M`P8AGur|2-|snv zZ72ja+9^tu_j%vvd}6<8U($osT!xe`q)M2W38u9_L22=* zJ7t=OlD^;7oinw~GfEMXCy<&Z?S0FbGTLuSdieaEpG>ihVp-fAxBQm#{Va_^aYJsE zOvtlNMGwN#h_EOk8q7^7g;XSfnB8%yMr0O4xOI+Rs4@}@fG{BlyJK9iKmbX=#4^$& zzu~{b)}86no6B+225HK1ySO@^)-e!mFg=mC*qzvcNg#!d@GFNjgb@}G+{OInMZgCO z08IT_d3WZylU1qtv6}=C5uOr8E{x*ohTtTj0H#Q$0H@A1*{y;G0ioeCwQ0IjZ!-H) z!hN{_Lkz|-pc0-k@llgosbHgIjsc6wb~Nk~2o`QFti5u}%W_l)r64L&ovd7U@qei{ z3ZNLVckO!K@~TApS|`{8DlG49w$9YMbW5<$bzp(W3l;k3lM{Ebo|I_Eb!Z9O;Ge^a zY_sc0dD&`Z3m@1{jH}bLb$QNOV%*2v?3`aNZuS=~K%HI}t%tmQU8|%$x;8-8{<>At z{^&MDUJc_afq#wb7pu3Ybd|g(>E0r(j(3&7f4s8^_g1eG_@tiwBKzA{iF>rK;oH-q z8y06%+i%fcmIs1|xR`HcMWK|QBZ9>bs&qlxdfJ0zH?vJJ&4grf=znjztAdcj zF!SR#OmSqtRL+mfLD|{das3W1kvp zS`t?Srjp?+c_A`0?a^@|#t&Wwj&(s|@?Y~VgWLt_b#XVU&&t&X8G27>4v?a8JCG1L z90v+O4uLvgji9hI4pmmW$kK6~!E2YrtW8km8+kV5z(mMNfeAPyoPuGHHWEmsA~a-G zf6BPQW0srdFZnexqAIJ5Sel)-*$T|wTRaw$Jz6@|;}X+8Z(3>X0i^fnGWv1#yjcIT k^QN5q#16fE+@s?Zw=y(8~^|S literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/cdesc-Shell.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/cdesc-Shell.ri new file mode 100644 index 0000000000000000000000000000000000000000..45ad64adce2aa5e5fd632512d93c1040bc5f6e1b GIT binary patch literal 244 zcmXAj!Ait16h*rjlGr-KxN@PZe1Yp%gb^B?MXO-zDvJ`+V1t0I-!O2M_;rC&JI-0kXPWluZb#lNTXH zUgRK->0^IpZ96usWv?#-YsQWZ=l7;}H9|GsFr2Yc8WAHW97E-oFQX+#lvs7mkAn{` zDVfxiaSXRU=wFf4TIgQen1q#TRcpctE#tPg+Rih*yXrKLUQCm=-x;}CwYucRA8DyZ A)c^nh literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/new-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..3b0a0469c9adeedc90058faae3308b1dffac0deb GIT binary patch literal 651 zcmZXS(Qnf*5XSp}lBV5+m_SHl4<}0qCZ?*qUe;;dm;_>Fh!$QV9vtV|n7MXjJ7Z(zvOZK~q2OjuXbPxfq98;dxtNh!o|GsAw< zmP!hPFE*+Px3_JB7!d7}v`?^q-f-((v1jmTyXP~vd|`Q0CwaF>*qd=xfs1VL2Bel= zawUHe2&3n60e4)r-I0h zbMQ6&cUcm&j;evldmZeZ`&C1jeY%-lP4j-5@5wCRXZu(8eAy^+v1wp4L2$R!89=i NH+l%#P1fOf{0DQW$%_C0 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell%3d-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell%3d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0c12878c35352986e90cc484b9d05846640eaa55 GIT binary patch literal 178 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LF3w2J$+1-u56Q?cva$*W@suHAZdTj{ zrAaxN$@x~&5Usw6McJhVR#rfBN^?{5O4zKp9SRbQN{XY|@~vc0)dVCKC8if87G$tl vb40T#X#}U16f2Zuq$+?7S4hh*0`f9JLO@n>PGWJfo`FF$gA$JhSb-)0$eB4N literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Shell/shell-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c0e704b313b27bc9ce22ecf8dd358d3f5da01a2d GIT binary patch literal 250 zcmY+7J8J?#6opgBDzUJUG^V&r8U-A&vU1F;^i3_v$WMvp&ty{)EYB>-h%ZP?Ny*GhSCS3M$S<<83eHH) z$x%j@akJtsC{4=AOwPBGh8W|USd?8_U}Xg~votp~uY}Et+o2$_sH8ZWE#FE8RZT!* zQDS;gVnGI*HAgg?l4fLPYEDYALP0?0xIs8jR|lo+BJl-M;i E0i5kTx&QzG literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/cdesc-Task.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/cdesc-Task.ri new file mode 100644 index 0000000000000000000000000000000000000000..08c6118a758ebb05f6b3d004521804426988932d GIT binary patch literal 383 zcmY*VO-lnY5bZ&Bw;xu)k4rsBP72}=m>w!;L@~Ax)QJ%u6W%H#xZX2<0tn8*l8yeJe~JdP9;q_={Uddfj2$#k0$ zM{7;erhs^WQ_oH_96tpTjYa11>hH}f2^pc#WRIibB42G-leh@lF#Hz5@C1~5u-A&vU1F;^i3_v$WMvp&ty}Q&PdEl$w`e*EJ`oUP0cHbPc16SFS1us z3(3eYva$+EEY4QOuEfoXub?QuBsIAtH6`Cl8e+I_Vo`Q!ft3}|Ca`gAR@@E+iA5#F i(F_I#(F{s*8ku>;C5d^-sX7W^n{*VC6LWG>i!=d=bvGvf literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_no_method_error%3f-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/handle_no_method_error%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..625e524d88b92ab032b150e0c20eb39d21b83215 GIT binary patch literal 164 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty}Q$w-A&vU1F;^i3_v$WMvp&ty~L$;eDeNzJoY5)aA9FS4=-A&vU1F;^i3_v$WMvp&ty~L$V)9(5(&x3FS4=*%uUr%NJ%YD kF3Kz@$;{8wQOL>9OOHnpDJ@P+2dc^kD=4-A&vU1F;^i3_v$WMvp&ty{)&dV=}Pf1NGO;69vOSe~&3(3eYva$+E zEY4O&m2$JCh8X6XSd?8_U}Xg~ximL5uY}Et+o2$_sH8ZW!N4Gz RL5W`@Gq1QLF)uk)695peD;)p; literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/required_options-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/required_options-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..edce9c281c8559a719aaa62a5d43fce6502f2554 GIT binary patch literal 127 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)ElMpc%`8eyiO(-6$;{6yR#FJb$S<<8 z3P~)^Rz{a}v*If#$}dSxE=f(vw~~e!=$lxSU0Pse1vI@hH#M(>&5GNhAhD>VIGVx0 LAeupmT|*N9w%IBs literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/run-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Task/run-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e4b99dcde7d71ff2062dae3374864b8c7e2ac42d GIT binary patch literal 262 zcmY*TJxc^J5VeqX;R*{a1TBWxD9Um5h@c{NhliYn1dA~jH(_@(OJ*Y6zc+VQ7O!}3 z=6xKt?|Az5%ntD}ZI@mHZ|rewOq)wGC+ol&aZS=+R{nysseBF5F`oZw2KH*uT>zZ*arxq28}_M{$M5#@28F7w609+F7M!9j5a;b6~aF^??EYQJP{1@bnw@fqWh# zz?3{*$mbf`O+?N~*8!gYdcKhH#2EX!6S`LGExJTjUVHKqWuD6A6_fNK%VQY5ebH4J zp@nKp`FE}bv~fHP&PL7N?6l2iPG#4(Z{(al%C+tP%^yoY7;*ki6Z>~=yfWKamA_(g*@Fc12J-|RufGLz) zFDV9*{e}s~3za_RfA`M8C0GyY8CZ8$+;)FN_OOI;F+Xs`K$y&(bbL F_5omjK;r-a literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/camel_case-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/camel_case-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..6d29fc71720f4123bd72076399175aaed83ba8d2 GIT binary patch literal 360 zcmZXPy-&k15XC#7wD~|;m?(qg2^Q4(vH)dZpi-5zQwC(5Q)AV!Bl{A;e@{LJR9H@@ zdr$BE?rL>}oBY*EfM@f)L#l06rYhj66bDdb>PENFSkgdvq=Q&DLJ$fdXC#TGb2~#m?O^=S4 zB1V=?-NW?wIPVi5b4Z;to^40u?Wq21d(pz2-<82d0k@YRZz!svZV8db9<>S~B>W=gU5X+1<1on$0Xpw&*?h zx0`Hn&w4C`WHK|~Z@$fg;SE3g{*iLdzmly`uc&CWOsA>`M>k$+m|d4-Igk6-#GmeS zS7^6Q&3PznDrtP5k3ZCCy-O#=pB?6WLyH@Wb=gk_X&>g-rE;ulWmrkNaLmb_w5VAV zG?Z7;@q0~{8qM}f8QG&`xNr3N&77^IFDZ2J#BwsBi)SHVnZZiB8gu#g%6T;2F*F6+ zsa#%!REG;nj(YcI`XOzGUR65L`6nXIml(`i;_aNh zc=w*cI>fRN%J3GTKkDFLy`8fw!a|wNo_MWvfQ@`EEE)X_H@xLbMv-LDl3e^tqC z-#7E#chyyPh7bR1LdOw$%S}V9a@BbuBrQWrntLQ*V`rtGD za?r1b<-}y2f!p(&xpdsFoFr53BJaYx&SzCtGYVr;!Ju(@S+TA9UTa%3_D|N2Vdc^w cg3UkMA#^8vEC~Fs@9<+Zidw<-Q^P+00bCrGP5=M^ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_class_and_task_by_namespace-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/find_class_and_task_by_namespace-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..8a3ebff2645c18b4fefe206185c82328e5902f92 GIT binary patch literal 1043 zcma)5O>fgc5X}K4agwSR#G!DQZiQ&2C@R-YTS3G}ffk{r<&uLnw%7J5_O7*Fhc>^S zSvwy@1yReA*Q1&D-preQ*1hA;Z$9Xd^Y`lETG&)avwhiSuVbkqKg_T!eWa7ca_$EY zzQSCT1%`sXy-l^@{LadZ^Z#Yv@_tbTnG7|5+0b31nO6np#9ie=**5RLE6~_-HqiXl zZq5%hm>4Y5_P9Iq*tZ)I3b_y^AZ+visRU~zMXd%S+;Jf&!^s4C8@Zp2t_rC8V&7w< zbC7lfUo6DZlom>XCQJzhSL9=e9 zrdeZseG1k}GRa;N-mYZkf`m35_dDZ(^u~K^-`$d2SYgOH&-v44FE;Zyo6?0)$;IjE Xti=wGH}N6FwA2BHb2z8#Q;Cz`ZvIT= literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/globs_for-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/globs_for-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..81acebf4683b93348522c5d02b1ad32dc010998c GIT binary patch literal 177 zcmY+7u?oU46aXD06au<9sYA%5OX>Vv6kH1;Ee;tZt!Wb)`@(BF`1e)>!Sy)q=1B>w z>ltf+Q~%0MwD?d<$K;~*SPl0ENv;cv1W-oj0e-ju9>&VM8e#Jdq}@DpS{4jw$@kh+c!@X6$zz>A+8a4FqVq literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespace_from_thor_class-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/namespace_from_thor_class-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..a0b2a291a5bd01990fed73d54c79cbfbc4342f1f GIT binary patch literal 912 zcmZ`&O=}x55Y3_3ah%lsq|lTy=+X~D2;@+zEhRN=Nx)8u?VNlFv%6!jVp&=wt@H8g zJMubdOz2IkH=23x&D$rN=knFyr_H4NVQ%^q3Y(8Rsv+JRoRcpxql<~N^9u&tMW)ev z@p;5&DbIt_QvSDWB->?`YL!{JTMy`?n^mQhJgu6O2@TmkD$xZ$-m&uCdd(knICWSS zjbwAYDNYBJky?-kgv=Tr&;&q}$BzYZ3s3=qWi)bwds6!_R3@YPHlUw*(aX?4N`QGz zdHu$7r_^5WK`4}m`O*a76KZe4u?svAQ%x}8-j3#Wq0Ch5hJs-A^ufeOQo0(=tfvfZ z*rZj<>5m=^@`bH*4#tK^tMbfB8JLnGhnlZ4axa;U~T=X7XRz5(6TL04r)-acS zn`~_i<=ge89TVp4OjB-YT98&P*$Q+WL?>>OZDo>HzFB|MQ$92~2rAIrj~kD|67dtp zVvWX>w0M0NfNy8%C1v3|C#1QuwjmBjyp_9(xL)>j6_Q$X+*%AXlo*Po4!Ly{Zc37^ z)3ed9VbX3U+p3l9i0uJ|${BByr_H3p+>&R_q^YgrXoZeNEL)y5h~(m!&n=D5y=GLUt|cC zG#e)})Ns5R?g=x?Qh@xIY@UxeP`OQoA?sH)oa{2M!icF6Y3z6h;h=4dSotsGcMR#R+4Kwi^kO^GU=x|(O%OajcOQb_@&lrHlQ;kX literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/ruby_command-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/ruby_command-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..32d0c08d06868effaf9e077b7824b62a902c0946 GIT binary patch literal 257 zcmY*Tu}T9$6ts{_AcY8aMtE$c7Lxke7_hMjNJy$H!pq*0U9$Jyvip{pzxU2Gu^EP$ zVPMK@2vDaac7=3UNYiVLqxoGHaJUlAA=Qqywt2H zA8SG!I&1G(8=QS4%39h+aQ;8@O_>gvl5gIp?ZkYooz~2t-a#Vupz_DZK?tlar|bp< yrDNd3C<&0YQdyy|QA3K(yap~xF_H%10>gbc1@7cj!2PJ>GRkj@MSEi=&o95y{#c*@ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/snake_case-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/snake_case-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..7fa414aafde24885ac8fab9319caaad41601d4c2 GIT binary patch literal 360 zcmZY4J5R$v3edA72xe6h@Zo~Br!>d`UD99gB$OzM&qM)zom zDPm;Ul+8xdhGnDgbtsud>a2G2bP{j=rM)y#*B?rwm%;rt#4R9fu*XIP5D%}X0vlaLR=e{V`%bT~NfIgVQ< zcgV`CZUHXpU7+u^sMnIPEIQk?BXG%W5XBj)0A*lkw^r)O9r~dvVm_9Buv99dqR__###4ZIJz8!j`0jOn}w3k3p(rLrELq6=d(aK_E<*}= c<@4rFm)zh|0yap7J^%m! literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/user_home-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/Util/user_home-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..84327f42f6392b63af208c166efaca6293202c2f GIT binary patch literal 111 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LD=khfiqFW;O;wT#$;dCVvI;H9%(1e9 z3x`;77nCODWG3fZNka_qO)SbTEwHiznpT>dnpeVR#qCg#SX5FR&0t^<&7j1tp$P!Y COCu`) literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/banner-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/banner-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..c54112b6b284d9f5eab56eb9d400871b88ef64e8 GIT binary patch literal 438 zcmY+AF-rqM5QQz|hy)bDPK)6xg%DC$tppTo6ax}sAy>`qO>URm?HoIM3FohOHH6YWm!v4^m{T?*8w5qQ}}}XR@bBagl#)48e$oEqe&Y3g`w!=J3ruXmp@^ z3EbKr0vo_?VTd~VIJrIVtgEAm^7q)=k4`8DK*v$_aKJ&}V5~L}!BI@hFkZCo(|vPz z3*bqU-IF8?K|tBXJ&b7rH6J4w%2Og$kscqE%nikUC%mhy#y}D)=8p;EuqEkG6Nury vsS=^G(lt0FhQuT4$^985U2SJl@N2Zz3i?!>0B{wM|^VMpuLQFvZ#K8A{6Ia-kr2-Z-fX< zz6VW_NG^@Ee;8tKdh< zlVi_lSp%K<7R1i(uNQflXR9oK%x2}&BA@Lf)A6?V`;e9OKn>Q8Q6q`D27OmEjl?Qo z_zL#TwnU&=^(QcZc?WhdIC#wR)y-o5o^w=00X!T8h4?8Q{Kw;f@2k!KgegU0eATt8 zIO6B30ktl@UTb{QB^qi`y9<6)!?W}ql_cGoPikGU=k7ul}mhq=QY2)`_8ceL2e;=pA`^QHb$>7lEbG z`7Y1ryXU{+(eu4%#5vbXa*4#z$avvcC#2JL$tlYxuO)XzxR`{KRU#Jg|LY2edHI$Z zEjaE*m&&GPj@St0me_eXyv>z$MHC30?EX9{t2S2Ui8u2jFPuMAjyQ&vf<6TL5O4xY zYswucNK}!4yn_~wP1||?XZ$WxoIV<+!3!Smx(iaV;mtlCWb{Fq@iA~zxp4Fwv?WKj zkXg`0-SqzDqA{-#<{jS1P8n`i0EM#}6vr200jX*mQ>u&UG#Z45r~Say*Z0{E;~jw@ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/default_task-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/default_task-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..5c548fe28096443d59b4795a3aea383f629cb47c GIT binary patch literal 443 zcmZWlO-sW-5bZ(Iragp$P|zNhob)0+PgSZYD6}fJ;vomwB-3W;W_Q`0*yi86A%d1( z-@JKWC%q3ieSgpyz@4fWNQKUmNCfdP$2G4ceGzxtc(f|C1^ADxU|_0LicG_KE3n{p zTNwbaR+XqIfWgdgOD+jDj1M_)-13d(rU<6JB#1wkNRCl~?AL-dwrp3R@~E~uC{Zbu(O1-!!%FGbD=g}=u7-YDMAPd z_Y_A>%n}K$(=a;xnF~i<-%t>iE(wlSXztJc)^H?GQN}~BR9r9XGS%|7sja7BTYs#) h3)Abr1=>c?pHXcP!k5?8<7AR_;^?9gxlux1{s7AUk;?!8 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/desc-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/desc-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..eeef9670afb5c1f7b769c544df23180b6488188f GIT binary patch literal 353 zcmZXOO-sW-5Qck@nAk%=dJy%nEC>okdY)EM>A`~qvGtVGm`sx;>F%;S5k>s(ChG?+ z-ez9rdFR=SpJDVgH#xwqeqRt*rpQti$)q5k%XC#42hh(e7~1xwQMrMWZ(xD0ZY@AZ zw;R$N!SKeSW1l4kPIqq}(P8P(R?#%hA~~DWT50lvD-x~8k_74^Z2d2%EGwghS%*l| z8w*BXU;gX8Yf#q@UDaR-$Gb1@2@9pmeK=_7l^T^m!d;O}dzTF{Id7&(?-R?z;4oXV k>xgT4v?cKuj!cm9zrkdZ4dmH*Aje{h7>l3FtB=o%FPdf6J)tnJ|gzK#Yt#)M%Ny1hQf;Cu?>h_yS40c zfs>~|F{es+ygj{HQ=~(rpo-#{@;J-?p+1wA`ZF+uOEUJ-&>0dC1 R)b46;Ex86BU{5CT>=(smVJH9q literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-i.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/help-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..939da0428bf1871e499ddfbd176cad7c487cb2f9 GIT binary patch literal 124 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~L%t*~CP~r>8$S+a`G2N`V3rdr6GL!SI zq#^2k6N|D-3#_bwnoDz2^GevPxE%@-i%N>484L`f8I)8tN)n5+6>JsqGIMkkic6D{ S^K)|(^HP8!X^A<-shR*$jVAj5 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/long_desc-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/long_desc-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..4417c1b78501dbda043fe85f6985a82dfa57acf5 GIT binary patch literal 325 zcmZXP&r8EV5QTe?*jTWap8NsJda)o<@HSOZ>A{1A($-TBWlg5ZlI_m2I}wZczniqB zP`y6peeav2_B-^ZBT50D?Rtz{P?mIcBu@?5e34;DWp7@P2iOO5=(y^`=#=1mTOBK3 zRt})%R4cR`LFdUS&moBkE)H)d%B$QfS46{h63M#}F15uVxIocNh-TAk$C|95~QH7Ria{%5X=F+d=+v4sS+S{@d+eAJ#W;ig(9_51E>jbc;c{Wws}_kY|HkG`Xqil z>qKfBsS_h5%c^?W*K8>&PKhvq*#^H6lB%E^AM=bS*LA1 zcjj-d`XTMtP375m+@L`cKHj1v+gxd*As>=wOTA`!&L4w=v($RV{`ViVZ^y@FN4JAzFCp!?-4HV=c9d?Q~R# z|IS^K70M*?65HqRySwi@-&_A8AAUZuiIm4?aiKzH)8VFWh|aWJU)fpE)`%yA%sMGo z4hM2$R*Z6;Soy4?xIlMZ%%mi~VyaAN$c>{Jy5NUxD|c4!d_sp4hqJ8FTOUT^;y6t` zpn)nO1PdWk;8g%ShAM9z^D&%_L5{5h?O~$l$^iO0*cBgi0L*iH<6&V7CQ33i6IJq6 z>>kF>P61)&)Lh%bL#oEws1ySF>-bKs?{YNP=X7E1POD#)8)48>?qWwo0OB!mEs3v~ zP&8Vi3G|8f3z*_WCw#(p*Of_mU2os6=*ulyI5-43Lf5St=G|@4OYR!o;lxJ$2+P2K zllJA)RYy)0rrJy**~-;i<+>@Gf!M?*TSb*A=dIjc#hhy&B63*=HTA>jjyxPcqZr@G zainswWr%CPznG3}en_GQ-ZTY@CquX z@&@pXtyCi3NTsKdzTm(L`Ix6^kp$GSuy{$mRAQk-MCjvq~Qv zjR6f@Ml#b6ox=tF4VmF|0@RrtS(_^~v3O0xX^e8Ebo~;^PtIrd2CRX?BfUK8NBMYf TZ@4D5U$Vp9+oyc+^VjZg`XX)r literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_options-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/method_options-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..f4be388ad0116d642e83f9f72a213aaff21eb516 GIT binary patch literal 623 zcmZXR%TL2F48}R2j*Y`4KtenYR!<A=VOdg=bfW(~X}bdz zC&#hhq`0ozTjLdy`BX#P;n3H}fKvBGGuz zh&+;+7dfI=EEcR>fSZ>&8E2!O#=~~cGZ~s0%Clg&5e4D!mJ>;aEx3$fRj=U z14niaPD9L)HqGhapX{|HHGdF_*WPfy?Rd|W3N`CsPx6wb=wjD--LPM+;?dYxjl1oc z2Vq^uQwYZk8wLMJtNO^-svb!(%kbcyY!|1KkvaO~e34SyHHa0*Aw;PC)PQz&%-GqGeKsMk5EH~VW_Usp7R U<#cd*8m)y}N2{MaS3(~D0{K48)&Kwi literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/printable_tasks-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/printable_tasks-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..0acee25504f24b730028bbd92342abdf761f672e GIT binary patch literal 214 zcmZ9Fu?oU46aXD06gs$cQio6w6-1n$2nwzRkvesd*Y;_PX%b$Np?`1DN!R1J8%H-t zu4hvLoOGX&Z%kcGT9GD}TkWw_boc09E}iC$VSqoJLu^B-+RDJ}o5_%0!2%4;(2@26 z;-f|Ot`G+1zs?02pNzH<`=}7<@=89icJgzSOj!5Q8(EV4Y^mPvcEu=NtWYU=ke&l= Rqzh$bx(;o*BSM_vE` literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..b12dec79e01f69471dfba7035fa410088e89b965 GIT binary patch literal 135 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty~LFD^|=&d<$F%u7)c4avwava&*mgjjJG zlqTh5Cg)p8Lp1v)7G;+fSXlv0D$PyJD`B(Zb|^?JDk+X;FffQ_P*T=F=+;p{u;Y_+ I5{rv90iAIz2mk;8 literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand_help-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommand_help-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..4d469186abb318aed9097e8d6c67d03e829af820 GIT binary patch literal 123 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)DK1S)&d<$F%u9*SNX;owk_ySlFS4>i z6ArQBD=5k@Nlh+EP06>ChM44=Sd?8_U}Xg~wlp_2uY}Et+o2$_sH8ZW!N4GzL5WKv IIX6WU0Ol+xcmMzZ literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommands-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/subcommands-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..33e8d61d72901cb9fcb43529be27033b8aca5b25 GIT binary patch literal 109 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMvp&ty{)C@xJ(&d<$F%u6X&5(~-5FS4>i5(=^6 yE+|dP$xP0-l7?vaO)SbTEwHiznpK*cnpeVR#qCg#SX5FR&0t^<&7j1tp$Pz%ULwH& literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/task_help-c.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/Thor/task_help-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..748ffaa25e1eec0142bf7a985fca95767771529d GIT binary patch literal 323 zcmZXPK}!QM5QTe?ZP$Xm6btGhV_9z0kmZawXx#CF_-%_bq4E&A_GwjdO5 z!_1ray>~YHfa&{--2ptApB0j{`)Z;xenBEMTZ!87=|)-)@VD5&*ma*;?JQg$Usu96 zodbwIU5kb?7(Y7UDO9lY@Y!vzz3&5U)A{ZfYX54F literal 0 HcmV?d00001 diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/cache.ri b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/cache.ri new file mode 100644 index 00000000..0f391dcf --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/cache.ri @@ -0,0 +1,47 @@ +{ +:class_methods{'"Bundler::LockfileParser["new"Bundler::Source::Rubygems["from_lock"new"Bundler::Source::Path["from_lock"new"Bundler::Dsl["deprecate" evaluate"new"Bundler::Resolver["new" resolve"%Bundler::Source::Path::Installer["new"Thor::Util["camel_case"find_by_namespace"%find_class_and_task_by_namespace"globs_for"load_thorfile"namespace_from_thor_class"namespaces_in_content"ruby_command"snake_case"thor_classes_in"thor_root"thor_root_glob"user_home"Bundler::SpecSet["new" Thor[" banner"check_unknown_options!"default_task" desc" help"long_desc"map"method_option"method_options"printable_tasks"subcommand"subcommand_help"subcommands"task_help"Bundler::GemHelper["install_tasks"new"Bundler::Index[" +build"new"Bundler::Installer[" install"!Bundler::RemoteSpecification["new"Thor::DynamicTask["new"Thor::Shell["new"Bundler::CLI["new"source_root"Bundler::Definition[" +build"new"Bundler::Environment["new"Bundler::UI::Shell["new"Bundler::GraphNode["new"Bundler::DepProxy["new"Bundler::Dependency["new"!Bundler::Resolver::SpecGroup["new"Bundler::Source::Git["from_lock"new"Thor::Actions["new"Bundler::Settings["new"Bundler::UI::RGProxy["new"Bundler::VersionConflict["new" Bundler[#"app_cache"app_config_path" bin_path"bundle_path" +cache"configure" configure_gem_home_and_path"default_gemfile"default_lockfile"definition"environment" home"install_path" load"load_gemspec" mkdir_p"read_file" require"requires_sudo?" root"ruby_scope" settings" +setup"specs_path" sudo"tmp"ui"upgrade_lockfile"user_bundle_path"with_clean_env"Bundler::LazySpecification["new"Thor::Base[ +"new" +shell" shell="subclass_files"subclasses"Bundler::Graph["new"Thor::Task["new"Bundler::BundlerError["status_code:attributes{@[ "attr_reader dependencies"attr_reader platforms"attr_reader sources"attr_reader specs"Gem::Specification["attr_accessor location"'attr_accessor relative_loaded_from"attr_accessor source@ +["attr_reader remotes@[ "attr_accessor version"attr_reader options"attr_reader path"attr_writer name"Thor::Shell::Basic["attr_accessor base"attr_accessor padding@["attr_reader errors"Thor::Base::ClassMethods["attr_accessor debugging@@["attr_reader base"attr_reader gemspec"attr_reader spec_path@K[ "attr_accessor source"attr_reader name"attr_reader platform"attr_reader version@X["attr_reader dependencies"attr_reader platforms"attr_reader sources@\["attr_reader root@b[ "attr_accessor is_user"attr_reader dependencies"attr_reader name"attr_reader version"Gem::Dependency["attr_accessor groups"attr_accessor source@e["attr_reader __platform"attr_reader dep"attr_reader required_by"Bundler::SharedHelpers["attr_accessor gem_loaded@h["attr_reader autorequire"attr_reader groups"attr_reader platforms@k["attr_reader activated"attr_reader required_by@n[ "attr_reader options"attr_reader ref"attr_reader submodules"attr_reader uri@r["attr_accessor behavior@{["attr_reader conflicts@~["attr_writer bundle_path"attr_writer ui@[ +"attr_accessor source"attr_reader dependencies"attr_reader name"attr_reader platform"attr_reader version@["attr_accessor options:instance_methods{4" Thor::Actions::ClassMethods[ "add_runtime_options!"source_paths"source_paths_for_search"source_root@[ "dependencies"parse_dependency"parse_platform"parse_source"parse_spec"platforms" sources" +specs@["add_bundler_dependencies"dependencies_to_gemfile"full_gem_path"git_version" groups"load_paths"loaded_from" location" nondevelopment_dependencies"relative_loaded_from"required_by"rg_full_gem_path"rg_loaded_from" source"to_gemfile@ +["=="add_remote" +cache" cached!"cached_gem"cached_specs"download_gem_from_uri" eql?" +fetch"fetch_all_remote_specs"fetch_specs" hash" install"installed_specs"merge_remotes" name"normalize_uri" options" remote!"remote_specs" remotes" +specs" sudo" to_lock" to_s@["==" +cache" cached!" eql?"generate_bin" hash" install"load_spec_files"local_specs" name" options" path"relative_path" remote!" +specs" to_lock" to_s" version@["ask" base"dynamic_width"dynamic_width_stty"dynamic_width_tput" +error"file_collision"no?" padding" padding="print_table"print_wrapped"say"say_status"terminal_width" truncate" +unix?" yes?"Thor::Shell::Color["set_color@["_deprecated_options"_normalize_hash"_normalize_options"env"gem" gemspec"git" +group" path"platforms"rubygems_source" source"to_definition@["clean_req" +debug"error_message" errors"gem_message" resolve"resolve_requirement" search" +start"successify"version_conflict@["generate_bin@-["[]"[]=" each"for" length" lookup"materialize" +merge" sorted" to_a" to_hash"tsort_each_child"tsort_each_node"valid_for?@0[" help@["all_tasks" argument"arguments"check_unknown_options!"class_option"class_options"debugging"exit_on_failure?"from_superclass" +group"inherited"method_added"namespace" no_tasks"print_options"remove_argument"remove_class_option"remove_task" +start" +tasks@@[" base"build_gem"built_gem_path" clean?" gemspec" git_push"guard_already_tagged"guard_clean" install"install_gem" name"perform_git_push"release_gem"rubygem_push"sh"sh_with_code"spec_path"tag_version"tagged_sha" version"version_tag@D["<<"=="[]" each" empty?"initialize_copy" search"search_by_dependency"search_by_spec"search_for_all_platforms" sources"use@H["&generate_bundler_executable_stubs"run@K[" __swap__"_remote_specification"fetch_platform"full_name"method_missing" name" platform" source" version@N["run@Q[" +shell" shell="with_padding@T[" +cache" +check" config" console" exec"gem"have_groff?" help" init" install"locate_gem" lock" open" package" show" unlock" update" version"viz@X[#"converge_dependencies"converge_locked_specs"converge_sources"current_dependencies"dependencies"+ensure_equivalent_gemfile_and_lockfile"expand_dependencies"expanded_dependencies" groups"in_locked_deps?" +index" lock"missing_specs"new_platform?"new_specs"no_sources?"platforms"pretty_dep"removed_specs"requested_dependencies"requested_specs" resolve"resolve_remotely!"resolve_with_cache!"satisfies_locked_spec?"sorted_sources" sources" +specs"specs_for" to_lock@\["current_dependencies"dependencies" +index" inspect" lock"requested_specs" root" +specs" update@_[ "be_quiet!" confirm" +debug" +error" info" warn@b[ "dependencies" is_user" name" version@[ " groups"required_by"requirement" source" to_lock"to_yaml_properties"Gem::Platform[" hash@e["=="__platform"dep" eql?" hash"method_missing"required_by" to_s" type"Bundler::Runtime[ " +cache"cache_path"dependencies_for"prune_cache" require" +setup"setup_environment"Thor::Shell::HTML["ask"set_color@["clean_load_path"cripple_rubygems"default_gemfile"default_lockfile"find_gemfile"gem"gem_loaded"in_bundle?""reverse_rubygems_kernel_mixin"Thor::Invocation[" invoke"invoke_with_padding@h["autorequire"current_env?"current_platform?"gem_platforms" groups" jruby?" mri?" mri_18?" mri_19?" mswin?"platforms" +ruby?" ruby_18?" ruby_19?"should_include?" to_lock@k["__dependencies"activate_platform"activated" for?"initialize_copy" name"required_by" source" to_s" to_specs" version@n[ "=="allow_git_ops?"base_name" +cache"cache_path" cached?" checkout" eql?"git"has_revision_cached?" in_cache" install"load_spec_files" name" options" path"ref" revision"shortref_for_display"shortref_for_path" +specs"submodules" to_lock" to_s" unlock!"uri" uri_hash@r[ " add_file"append_file" +apply" behavior" +chmod"copy_file"create_file"destination_root"destination_root="directory"empty_directory"find_in_source_paths"get"gsub_file" in_root"inject_into_class"inject_into_file" inside"prepend_file"*relative_to_original_destination_root"remove_dir"remove_file"run"run_ruby_script"source_paths" template" thor@u["[]"[]="all"allow_sudo?" delete"global_config_file" key_for"local_config_file"locations" path"pretty_values_for"set_global" set_key" without" without="Bundler::UI[ " confirm" +error" info" warn@x["say"Thor::HiddenTask[" hidden?@{["conflicts@~["bundle_path"ui@["__materialize__"dependencies"full_name"method_missing" name" platform"respond_to?"satisfies?" source" to_lock" to_s" version"Bundler::GemHelpers[" generic"Bundler::MatchPlatform["match_platform@[" options@[ " groups" +nodes" populate"viz@[ "formatted_usage"handle_argument_error?"handle_no_method_error?" hidden?"not_debugging?"required_options"run:ancestors{Y" File[" Object"-Bundler::SharedHelpers::Gem::SourceIndex[@[" Object"Thor::InvocationError["Thor::Error@ +[" Object@["Thor::Sandbox["Thor::CoreExt::OrderedHash[" ::Hash""Thor::Actions::EmptyDirectory[" Object"-Thor::CoreExt::HashWithIndifferentAccess[" ::Hash@b[" Object"Thor::UnknownArgumentError[@@K["MatchPlatform" Object@D["Enumerable" Object@[" Object@["GemHelpers@P[@[" Bundler::SharedHelpers::Gem["Thor::Actions::CreateFile[""Thor::Actions::EmptyDirectory"Bundler::DslError["Bundler::BundlerError"'Thor::RequiredArgumentMissingError["Thor::InvocationError@{[@@["Gem::Installer@[" Object""Thor::Actions::InjectIntoFile[@"Bundler::GitError[@"Thor::Actions::Directory[@@[" Object@a["Thor::Shell::Basic@Q[@["Bundler::PathError[@"Bundler::GemspecError[@@[" Object@["Gem["Thor::CoreExt[@["IStruct.new(:name, :description, :long_description, :usage, :options)"Bundler::GemNotFound[@@[" Object"Bundler::InvalidOption["Bundler::DslError@u[" Object@k["GemHelpers" +Array@[" Object@["Bundler::MatchPlatform" Object@~["Thor::Error["StandardError@_["Bundler::UI@H["Bundler::Environment"#Thor::Invocation::ClassMethods[@["MatchPlatform" Object"$Thor::MalformattedArgumentError[@@n["Bundler::Source::Path@B[@-@e[" Object@r["Bundler::GemfileError[@@\[" Object@[@["Thor::Task@["StandardError"Bundler::DeprecatedError[@@T["Thor::Actions" Thor"Bundler::GemfileNotFound[@@[@x["Gem::SilentUI@h["Gem::Dependency@9["SharedHelpers@U@N[@i@0["Thor::Base" Object@-[" +TSort"Enumerable" Object"Thor::Arguments[" Object"Thor::Option["Thor::Argument"Bundler::InvalidSpecSet["StandardError"Bundler::ProductionError[@@X["GemHelpers" Object@@[" Object"Thor::UndefinedTaskError[@@[" Object"Thor::Options["Thor::Arguments"Thor::Argument[" Object"Bundler::Source[@,[" Object: modules[Y"Bundler::InvalidSpecSet"Bundler::ProductionError"Thor::Actions::Directory@^"Bundler::Source::Rubygems"Gem::Specification"Bundler::LockfileParser"Bundler::GemfileNotFound"Thor::Shell::Color@-"Thor::Option@@"%Bundler::Source::Path::Installer"Bundler::Resolver"Bundler::Dsl"Bundler::GemspecError"Bundler::GemNotFound@"Thor::UndefinedTaskError@p"Bundler::SpecSet"Thor::DynamicTask"Thor::UnknownArgumentError"!Bundler::RemoteSpecification"Bundler::Installer"Bundler::Index"Bundler::GemHelper"Bundler::UI::Shell@U"Bundler::Definition"Bundler::CLI"Bundler::GitError"Bundler::GemfileError"Thor::Shell::HTML"Bundler::Runtime"Bundler::DepProxy"Gem::Platform@w"Bundler::GraphNode"Bundler::DeprecatedError"$Thor::MalformattedArgumentError"-Thor::CoreExt::HashWithIndifferentAccess"Bundler::Source::Git"!Bundler::Resolver::SpecGroup"Bundler::Dependency"Bundler::VersionConflict"Bundler::InvalidOption"Thor::HiddenTask@@"Bundler::UI::RGProxy@S"Bundler::Settings@C"Thor::Options"Thor::CoreExt::OrderedHash"Bundler::LazySpecification"Bundler::PathError@@i"'Thor::RequiredArgumentMissingError" File""Thor::Actions::InjectIntoFile"Thor::Actions::CreateFile"Bundler::Graph"Thor::CoreExt" Thor::Actions::ClassMethods"Bundler::Source" Bundler::SharedHelpers::Gem"#Thor::Invocation::ClassMethods"-Bundler::SharedHelpers::Gem::SourceIndex"Thor::Util"Thor::Base::ClassMethods"Gem"Thor::Sandbox"Thor::Shell"Thor::Invocation"Bundler::SharedHelpers@o" Bundler@|@L"Bundler::GemHelpers \ No newline at end of file diff --git a/vendor/plugins/bundler/doc/bundler-1.0.0/ri/created.rid b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/created.rid new file mode 100644 index 00000000..036f6999 --- /dev/null +++ b/vendor/plugins/bundler/doc/bundler-1.0.0/ri/created.rid @@ -0,0 +1,65 @@ +Thu, 23 Sep 2010 23:33:43 -0500 +lib/bundler/vendor/thor.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/task.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/options.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-update Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/environment.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/ordered_hash.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/ui.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/shared_helpers.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/setup.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/rubygems_ext.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/index.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/dependency.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/version.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/color.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/basic.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/argument.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/templates/Executable Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/remote_specification.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/gemfile.5.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/templates/Gemfile Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/spec_set.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/graph.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/gem_helper.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/version.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/util.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/empty_directory.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/create_file.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/source.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-update.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-exec.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-config Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/capistrano.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-package.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-package Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-install Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell/html.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/runtime.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/resolver.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/definition.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/file_binary_read.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/inject_into_file.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/settings.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-install.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/lockfile_parser.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/lazy_specification.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/option.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-config.txt Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/invocation.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/error.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/directory.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/installer.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/cli.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/shell.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/parser/arguments.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/base.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/vendor/thor/actions/file_manipulation.rb Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/man/bundle-exec Thu, 23 Sep 2010 23:33:39 -0500 +lib/bundler/dsl.rb Thu, 23 Sep 2010 23:33:39 -0500 diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/CHANGELOG.md b/vendor/plugins/bundler/gems/bundler-1.0.0/CHANGELOG.md new file mode 100644 index 00000000..488c35d2 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/CHANGELOG.md @@ -0,0 +1,503 @@ +## 1.0.0 + +Features + + - You can now define `:bundle_cmd` in the capistrano task + +Bugfixes: + + - Various bugfixes to the built-in rake helpers + - Fix a bug where shortrefs weren't unique enough and were + therfore colliding + - Fix a small bug involving checking whether a local git + clone is up to date + - Correctly handle explicit '=' dependencies with gems + pinned to a git source + - Fix an issue with Windows-generated lockfiles by reading + and writing the lockfile in binary mode + - Fix an issue with shelling out to git in Windows by + using double quotes around paths + - Detect new Rubygems sources in the Gemfile and update + the lockfile + +## 1.0.0.rc.6 + +Features: + + - Much better documentation for most of the commands and Gemfile + format + +Bugfixes: + + - Don't attempt to create directories if they already exist + - Fix the capistrano task so that it actually runs + - Update the Gemfile template to reference rubygems.org instead + of :gemcutter + - bundle exec should exit with a non zero exit code when the gem + binary does not exist or the file is not executable. + - Expand paths in Gemfile relative to the Gemfile and not the current + working directory. + +## 1.0.0.rc.5 + +Features: + + - Make the Capistrano task more concise. + +Bugfixes: + + - Fix a regression with determining whether or not to use sudo + - Allow using the --gemfile flag with the --deployment flag + +## 1.0.0.rc.4 + +Features: + + - `bundle gem NAME` command to generate a new gem with Gemfile + - Bundle config file location can be specified by BUNDLE_APP_CONFIG + - Add --frozen to disable updating the Gemfile.lock at runtime + (default with --deployment) + - Basic Capistrano task now added as 'bundler/capistrano' + +Bugfixes: + + - Multiple bundler process no longer share a tmp directory + - `bundle update GEM` always updates dependencies of GEM as well + - Deleting the cache directory no longer causes errors + - Moving the bundle after installation no longer causes git errors + - Bundle path is now correctly remembered on a read-only filesystem + - Gem binaries are installed to Gem.bindir, not #{Gem.dir}/bin + - Fetch gems from vendor/cache, even without --local + - Sort lockfile by platform as well as spec + +## 1.0.0.rc.3 (August 3, 2010) + +Features: + + - Deprecate --production flag for --deployment, since the former + was causing confusion with the :production group + - Add --gemfile option to `bundle check` + - Reduce memory usage of `bundle install` by 2-4x + - Improve message from `bundle check` under various conditions + - Better error when a changed Gemfile conflicts with Gemfile.lock + +Bugfixes: + + - Create bin/ directory if it is missing, then install binstubs + - Error nicely on the edge case of a pinned gem with no spec + - Do not require gems for other platforms + - Update git sources along with the gems they contain + +## 1.0.0.rc.2 (July 29, 2010) + + - `bundle install path` was causing confusion, so we now print + a clarifying warning. The preferred way to install to a path + (which will not print the warning) is + `bundle install --path path/to/install`. + - `bundle install --system` installs to the default system + location ($BUNDLE_PATH or $GEM_HOME) even if you previously + used `bundle install --path` + - completely remove `--disable-shared-gems`. If you install to + system, you will not be isolated, while if you install to + another path, you will be isolated from gems installed to + the system. This was mostly an internal option whose naming + and semantics were extremely confusing. + - Add a `--production` option to `bundle install`: + - by default, installs to `vendor/bundle`. This can be + overridden with the `--path` option + - uses `--local` if `vendor/cache` is found. This will + guarantee that Bundler does not attempt to connect to + Rubygems and will use the gems cached in `vendor/cache` + instead + - Raises an exception if a Gemfile.lock is not found + - Raises an exception if you modify your Gemfile in development + but do not check in an updated Gemfile.lock + - Fixes a bug where switching a source from Rubygems to git + would always say "the git source is not checked out" when + running `bundle install` + +NOTE: We received several reports of "the git source has not +been checked out. Please run bundle install". As far as we +can tell, these problems have two possible causes: + +1. `bundle install ~/.bundle` in one user, but actually running + the application as another user. Never install gems to a + directory scoped to a user (`~` or `$HOME`) in deployment. +2. A bug that happened when changing a gem to a git source. + +To mitigate several common causes of `(1)`, please use the +new `--production` flag. This flag is simply a roll-up of +the best practices we have been encouraging people to use +for deployment. + +If you want to share gems across deployments, and you use +Capistrano, symlink release_path/current/vendor/bundle to +release_path/shared/bundled_gems. This will keep deployments +snappy while maintaining the benefits of clean, deploy-time +isolation. + +## 1.0.0.rc.1 (July 26, 2010) + + - Fixed a bug with `bundle install` on multiple machines and git + +## 1.0.0.beta.10 (July 25, 2010) + + - Last release before 1.0.0.rc.1 + - Added :mri as a valid platform (platforms :mri { gem "ruby-debug" }) + - Fix `bundle install` immediately after modifying the :submodule option + - Don't write to Gemfile.lock if nothing has changed, fixing situations + where bundle install was run with a different user than the app + itself + - Fix a bug where other platforms were being wiped on `bundle update` + - Don't ask for root password on `bundle install` if not needed + - Avoid setting `$GEM_HOME` where not needed + - First solid pass of `bundle config` + - Add build options + - `bundle config build.mysql --with-mysql-config=/path/to/config` + +## 1.0.0.beta.9 (July 21, 2010) + + - Fix install failure when switching from a path to git source + - Fix `bundle exec bundle *` in a bundle with --disable-shared-gems + - Fix `bundle *` from inside a bundle with --disable-shared-gem + - Shim Gem.refresh. This is used by Unicorn + - Fix install failure when a path's dependencies changed + +## 1.0.0.beta.8 (July 20, 2010) + + - Fix a Beta 7 bug involving Ruby 1.9 + +## 1.0.0.beta.7 (July 20, 2010, yanked) + + - Running `bundle install` twice in a row with a git source always crashed + +## 1.0.0.beta.6 (July 20, 2010, yanked) + + - Create executables with bundle install --binstubs + - You can customize the location (default is app/bin) with --binstubs other/location + - Fix a bug where the Gemfile.lock would be deleted even if the update was exited + - Fix a bug where cached gems for other platforms were sometimes deleted + - Clean up output when nothing was deleted from cache (it previously said + "Removing outdated gems ...") + - Improve performance of bundle install if the git gem was already checked out, + and the revision being used already exists locally + - Fix bundle show bundler in some cases + - Fix bugs with bundle update + - Don't ever run git commands at runtime (fixes a number of common passenger issues) + - Fixes an obscure bug where switching the source of a gem could fail to correctly + change the source of its dependencies + - Support multiple version dependencies in the Gemfile + (gem "rails", ">= 3.0.0.beta1", "<= 3.0.0") + - Raise an exception for ambiguous uses of multiple declarations of the same gem + (for instance, with different versions or sources). + - Fix cases where the same dependency appeared several times in the Gemfile.lock + - Fix a bug where require errors were being swallowed during Bundler.require + +## BACKFILL COMING + +## 1.0.0.beta.1 + + - No `bundle lock` command. Locking happens automatically on install or update + - No .bundle/environment.rb. Require 'bundler/setup' instead. + - $BUNDLE_HOME defaults to $GEM_HOME instead of ~/.bundle + - Remove lockfiles generated by 0.9 + +## 0.9.26 + +Features: + + - error nicely on incompatible 0.10 lockfiles + +## 0.9.25 (May 3, 2010) + +Bugfixes: + + - explicitly coerce Pathname objects to Strings for Ruby 1.9 + - fix some newline weirdness in output from install command + +## 0.9.24 (April 22, 2010) + +Features: + + - fetch submodules for git sources + - limit the bundled version of bundler to the same as the one installing + - force relative paths in git gemspecs to avoid raising Gem::NameTooLong + - serialize GemCache sources correctly, so locking works + - raise Bundler::GemNotFound instead of calling exit! inside library code + - Rubygems 1.3.5 compatibility for the adventurous, not supported by me :) + +Bugfixes: + + - don't try to regenerate environment.rb if it is read-only + - prune outdated gems with the platform "ruby" + - prune cache without errors when there are directories or non-gem files + - don't re-write environment.rb if running after it has been loaded + - do not monkeypatch Specification#load_paths twice when inside a bundle + +## 0.9.23 (April 20, 2010) + +Bugfixes: + + - cache command no longer prunes gems created by an older rubygems version + - cache command no longer prunes gems that are for other platforms + +## 0.9.22 (April 20, 2010) + +Features: + + - cache command now prunes stale .gem files from vendor/cache + - init --gemspec command now generates development dependencies + - handle Polyglot's changes to Kernel#require with Bundler::ENV_LOADED (#287) + - remove .gem files generated after installing a gem from a :path (#286) + - improve install/lock messaging (#284) + +Bugfixes: + + - ignore cached gems that are for another platform (#288) + - install Windows gems that have no architecture set, like rcov (#277) + - exec command while locked now includes the bundler lib in $LOAD_PATH (#293) + - fix the `rake install` task + - add GemspecError so it can be raised without (further) error (#292) + - create a parent directory before cloning for git 1.5 compatibility (#285) + +## 0.9.21 (April 16, 2010) + +Bugfixes: + + - don't raise 'omg wtf' when lockfile is outdated + +## 0.9.20 (April 15, 2010) + +Features: + + - load YAML format gemspecs + - no backtraces when calling Bundler.setup if gems are missing + - no backtraces when trying to exec a file without the executable bit + +Bugfixes: + + - fix infinite recursion in Bundler.setup after loading a bundled Bundler gem + - request install instead of lock when env.rb is out of sync with Gemfile.lock + +## 0.9.19 (April 12, 2010) + +Features: + + - suggest `bundle install --relock` when the Gemfile has changed (#272) + - source support for Rubygems servers without prerelease gem indexes (#262) + +Bugfixes: + + - don't set up all groups every time Bundler.setup is called while locked (#263) + - fix #full_gem_path for git gems while locked (#268) + - eval gemspecs at the top level, not inside the Bundler class (#269) + + +## 0.9.18 (April 8, 2010) + +Features: + + - console command that runs irb with bundle (and optional group) already loaded + +Bugfixes: + + - Bundler.setup now fully disables system gems, even when unlocked (#266, #246) + - fixes Yard, which found plugins in Gem.source_index that it could not load + - makes behaviour of `Bundler.require` consistent between locked and unlocked loads + +## 0.9.17 (April 7, 2010) + +Features: + + - Bundler.require now calls Bundler.setup automatically + - Gem::Specification#add_bundler_dependencies added for gemspecs + +Bugfixes: + + - Gem paths are not longer duplicated while loading bundler + - exec no longer duplicates RUBYOPT if it is already set correctly + +## 0.9.16 (April 3, 2010) + +Features: + + - exit gracefully on INT signal + - resolver output now indicates whether remote sources were checked + - print error instead of backtrace when exec cannot find a binary (#241) + +Bugfixes: + + - show, check, and open commands work again while locked (oops) + - show command for git gems + - outputs branch names other than master + - gets the correct sha from the checkout + - doesn't print sha twice if :ref is set + - report errors from bundler/setup.rb without backtraces (#243) + - fix Gem::Spec#git_version to not error on unloaded specs + - improve deprecation, Gemfile, and command error messages (#242) + +## 0.9.15 (April 1, 2010) + +Features: + + - use the env_file if possible instead of doing a runtime resolve + - huge speedup when calling Bundler.setup while locked + - ensures bundle exec is fast while locked + - regenerates env_file if it was generated by an older version + - update cached/packed gems when you update gems via bundle install + +Bugfixes: + + - prep for Rubygems 1.3.7 changes + - install command now pulls git branches correctly (#211) + - raise errors on invalid options in the Gemfile + +## 0.9.14 (March 30, 2010) + +Features: + + - install command output vastly improved + - installation message now accurate, with 'using' and 'installing' + - bundler gems no longer listed as 'system gems' + - show command output now includes sha and branch name for git gems + - init command now takes --gemspec option for bootstrapping gem Gemfiles + - Bundler.with_clean_env for shelling out to ruby scripts + - show command now aliased as 'list' + - VISUAL env var respected for GUI editors + +Bugfixes: + + - exec command now finds binaries from gems with no gemspec + - note source of Gemfile resolver errors + - don't blow up if git urls are changed + +## 0.9.13 (March 23, 2010) + +Bugfixes: + + - exec command now finds binaries from gems installed via :path + - gem dependencies are pulled in even if their type is nil + - paths with spaces have double-quotes to work on Windows + - set GEM_PATH in environment.rb so generators work with Rails 2 + +## 0.9.12 (March 17, 2010) + + - refactoring, internal cleanup, more solid specs + +Features: + + - check command takes a --without option + - check command exits 1 if the check fails + +Bugfixes: + + - perform a topological sort on resolved gems (#191) + - gems from git work even when paths or repos have spaces (#196) + - Specification#loaded_from returns a String, like Gem::Specification (#197) + - specs eval from inside the gem directory, even when locked + - virtual gemspecs are now saved in environment.rb for use when loading + - unify the Installer's local index and the runtime index (#204) + +## 0.9.11 (March 9, 2010) + + - added roadmap with future development plans + +Features: + + - install command can take the path to the gemfile with --gemfile (#125) + - unknown command line options are now rejected (#163) + - exec command hugely sped up while locked (#177) + - show command prints the install path if you pass it a gem name (#148) + - open command edits an installed gem with $EDITOR (#148) + - Gemfile allows assigning an array of groups to a gem (#114) + - Gemfile allows :tag option on :git sources + - improve backtraces when a gemspec is invalid + - improve performance by installing gems from the cache if present + +Bugfixes: + + - normalize parameters to Bundler.require (#153) + - check now checks installed gems rather than cached gems (#162) + - don't update the gem index when installing after locking (#169) + - bundle parenthesises arguments for 1.8.6 (#179) + - gems can now be assigned to multiple groups without problems (#135) + - fix the warning when building extensions for a gem from git with Rubygems 1.3.6 + - fix a Dependency.to_yaml error due to accidentally including sources and groups + - don't reinstall packed gems + - fix gems with git sources that are private repositories + +## 0.9.10 (March 1, 2010) + + - depends on Rubygems 1.3.6 + +Bugfixes: + + - support locking after install --without + - don't reinstall gems from the cache if they're already in the bundle + - fixes for Ruby 1.8.7 and 1.9 + +## 0.9.9 (February 25, 2010) + +Bugfixes: + + - don't die if GEM_HOME is an empty string + - fixes for Ruby 1.8.6 and 1.9 + +## 0.9.8 (February 23, 2010) + +Features: + + - pack command which both caches and locks + - descriptive error if a cached gem is missing + - remember the --without option after installing + - expand paths given in the Gemfile via the :path option + - add block syntax to the git and group options in the Gemfile + - support gems with extensions that don't admit they depend on rake + - generate gems using gem build gemspec so git gems can have native extensions + - print a useful warning if building a gem fails + - allow manual configuration via BUNDLE_PATH + +Bugfixes: + + - eval gemspecs in the gem directory so relative paths work + - make default spec for git sources valid + - don't reinstall gems that are already packed + +## 0.9.7 (February 17, 2010) + +Bugfixes: + + - don't say that a gem from an excluded group is "installing" + - improve crippling rubygems in locked scenarios + +## 0.9.6 (February 16, 2010) + +Features: + + - allow String group names + - a number of improvements in the documentation and error messages + +Bugfixes: + + - set SourceIndex#spec_dirs to solve a problem involving Rails 2.3 in unlocked mode + - ensure Rubygems is fully loaded in Ruby 1.9 before patching it + - fix `bundle install` for a locked app without a .bundle directory + - require gems in the order that the resolver determines + - make the tests platform agnostic so we can confirm that they're green on JRuby + - fixes for Ruby 1.9 + +## 0.9.5 (Feburary 12, 2010) + +Features: + + - added support for :path => "relative/path" + - added support for older versions of git + - added `bundle install --disable-shared-gems` + - Bundler.require fails silently if a library does not have a file on the load path with its name + - Basic support for multiple rubies by namespacing the default bundle path using the version and engine + +Bugfixes: + + - if the bundle is locked and .bundle/environment.rb is not present when Bundler.setup is called, generate it + - same if it's not present with `bundle check` + - same if it's not present with `bundle install` diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/ISSUES.md b/vendor/plugins/bundler/gems/bundler-1.0.0/ISSUES.md new file mode 100644 index 00000000..da8ada72 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/ISSUES.md @@ -0,0 +1,32 @@ +# 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: + + rm -rf ~/.bundle/ ~/.gem/ .bundle/ Gemfile.lock + 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.0/LICENSE b/vendor/plugins/bundler/gems/bundler-1.0.0/LICENSE new file mode 100644 index 00000000..41decca1 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2009 Engine Yard + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/README.md b/vendor/plugins/bundler/gems/bundler-1.0.0/README.md new file mode 100644 index 00000000..1bb9b91b --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/README.md @@ -0,0 +1,27 @@ +# Bundler: a gem to bundle gems + +Bundler is a tool that manages gem dependencies for your ruby application. It +takes a gem manifest file and is able to fetch, download, and install the gems +and all child dependencies specified in this manifest. It can manage any update +to the gem manifest file and update the bundle's gems accordingly. It also lets +you run any ruby code in context of the bundle's gem environment. + +## Installation and usage + +See [gembundler.com](http://gembundler.com) for up-to-date installation and usage instructions. + +## Troubleshooting + +For help with common problems, see [ISSUES](http://github.com/carlhuda/bundler/blob/master/ISSUES.md). + +### Development + +To see what has changed in each version of bundler, starting with 0.9.5, see the [CHANGELOG](http://github.com/carlhuda/bundler/blob/master/CHANGELOG.md). For information about changes that will happen in the future, see the [ROADMAP](http://github.com/carlhuda/bundler/blob/master/ROADMAP.md). + +## Upgrading from Bundler 0.8 to 0.9 and above + +See [UPGRADING](http://github.com/carlhuda/bundler/blob/master/UPGRADING.md). + +## Other questions + +Feel free to chat with the Bundler core team (and many other users) on IRC in the [#bundler](irc://irc.freenode.net/bundler) channel on Freenode, or via email on the [Bundler mailing list](http://groups.google.com/group/ruby-bundler). diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/ROADMAP.md b/vendor/plugins/bundler/gems/bundler-1.0.0/ROADMAP.md new file mode 100644 index 00000000..2adf83fa --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/ROADMAP.md @@ -0,0 +1,36 @@ +# 1.0 + + - No breaking changes to the Gemfile are expected + - We expect to modify the format of Gemfile.lock. + - This should be the final change + - This means you will not be able to upgrade a locked app + directly from 0.9 to 1.0. + - Bundler will automatically generate Gemfile.lock when any + resolve is successful. + - This means the bundle lock command will no longer be needed. + - Bundler will conservatively update Gemfile.lock from the + last successful resolve if the Gemfile has been modified since + the last use of bundler. + - This means that adding a new gem to the Gemfile that does not + conflict with existing gems will not force an update of other + gems. + - This also means that we will not force an update to previously + resolved dependencies as long as they are compatible with some + valid version of the new dependency. + - When removing a gem, bundle install will simply remove it, without + recalculating all dependencies. + - We will be adding `bundle update` for the case where you -do- + wish to re-resolve all dependencies and update everything to the + latest version. + - bundle update will also take a gem name, if you want to force + an update to just a single gem (and its dependencies). + - There will be a way to install dependencies that require build options + - We will add groups that are opt-in at install-time, rather than opt-out. + - We will reduce open bug count to 0 for the final 1.0 release. + - Some additional features that require more thought. For details, + see http://github.com/carlhuda/bundler/issues/labels/1.0 + +# 1.1 + + - Stop upgrading 0.9 lockfiles + - Delete vestigial gems installed into ~/.bundle/ by 0.9 \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/bin/bundle b/vendor/plugins/bundler/gems/bundler-1.0.0/bin/bundle new file mode 100755 index 00000000..f7b0dbc6 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/bin/bundle @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby + +# Check if an older version of bundler is installed +require 'bundler' +$:.each do |path| + if path =~ %r'/bundler-0.(\d+)' && $1.to_i < 9 + abort "Please remove older versions of bundler. This can be done by running `gem cleanup bundler`." + end +end +require 'bundler/cli' + +begin + Bundler::CLI.start +rescue Bundler::BundlerError => e + Bundler.ui.error e.message + Bundler.ui.error e.backtrace.join("\n") if ENV["BUNDLE_DEBUG"] + exit e.status_code +rescue Interrupt + Bundler.ui.error "\nQuitting..." + exit 1 +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler.rb new file mode 100644 index 00000000..e25b7cae --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler.rb @@ -0,0 +1,283 @@ +require 'rbconfig' +require 'fileutils' +require 'pathname' +require 'yaml' +require 'bundler/rubygems_ext' +require 'bundler/version' + +module Bundler + ORIGINAL_ENV = ENV.to_hash + + autoload :Definition, 'bundler/definition' + autoload :Dependency, 'bundler/dependency' + autoload :Dsl, 'bundler/dsl' + autoload :Environment, 'bundler/environment' + autoload :GemHelper, 'bundler/gem_helper' + autoload :Graph, 'bundler/graph' + autoload :Index, 'bundler/index' + autoload :Installer, 'bundler/installer' + autoload :LazySpecification, 'bundler/lazy_specification' + autoload :LockfileParser, 'bundler/lockfile_parser' + autoload :RemoteSpecification, 'bundler/remote_specification' + autoload :Resolver, 'bundler/resolver' + autoload :Runtime, 'bundler/runtime' + autoload :Settings, 'bundler/settings' + autoload :SharedHelpers, 'bundler/shared_helpers' + autoload :SpecSet, 'bundler/spec_set' + autoload :Source, 'bundler/source' + autoload :Specification, 'bundler/shared_helpers' + autoload :UI, 'bundler/ui' + + class BundlerError < StandardError + def self.status_code(code = nil) + define_method(:status_code) { code } + end + end + + class GemfileNotFound < BundlerError; status_code(10) ; end + class GemNotFound < BundlerError; status_code(7) ; end + class GemfileError < BundlerError; status_code(4) ; end + class PathError < BundlerError; status_code(13) ; end + class GitError < BundlerError; status_code(11) ; end + class DeprecatedError < BundlerError; status_code(12) ; end + class GemspecError < BundlerError; status_code(14) ; end + class DslError < BundlerError; status_code(15) ; end + class ProductionError < BundlerError; status_code(16) ; end + class InvalidOption < DslError ; end + + + WINDOWS = RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw)! + NULL = WINDOWS ? "NUL" : "/dev/null" + + + class VersionConflict < BundlerError + attr_reader :conflicts + + def initialize(conflicts, msg = nil) + super(msg) + @conflicts = conflicts + end + + status_code(6) + end + + # Internal errors, should be rescued + class InvalidSpecSet < StandardError; end + + class << self + attr_writer :ui, :bundle_path + + def configure + @configured ||= begin + configure_gem_home_and_path + true + end + end + + def ui + @ui ||= UI.new + end + + def bundle_path + # STDERR.puts settings.path + @bundle_path ||= Pathname.new(settings.path).expand_path(root) + end + + def bin_path + @bin_path ||= begin + path = settings[:bin] || "bin" + path = Pathname.new(path).expand_path(root) + FileUtils.mkdir_p(path) + Pathname.new(path).expand_path + end + end + + def setup(*groups) + return @setup if defined?(@setup) && @setup + + if groups.empty? + # Load all groups, but only once + @setup = load.setup + else + # Figure out which groups haven't been loaded yet + unloaded = groups - (@completed_groups || []) + # Record groups that are now loaded + @completed_groups = groups | (@completed_groups || []) + # Load any groups that are not yet loaded + unloaded.any? ? load.setup(*unloaded) : load + end + end + + def require(*groups) + setup(*groups).require(*groups) + end + + def load + @load ||= Runtime.new(root, definition) + end + + def environment + Bundler::Environment.new(root, definition) + end + + def definition(unlock = nil) + @definition = nil if unlock + @definition ||= begin + configure + upgrade_lockfile + Definition.build(default_gemfile, default_lockfile, unlock) + end + end + + def ruby_scope + "#{Gem.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}" + end + + def user_bundle_path + Pathname.new(Gem.user_home).join(".bundler") + end + + def home + bundle_path.join("bundler") + end + + def install_path + home.join("gems") + end + + def specs_path + bundle_path.join("specifications") + end + + def cache + bundle_path.join("cache/bundler") + end + + def root + default_gemfile.dirname.expand_path + end + + def app_config_path + ENV['BUNDLE_APP_CONFIG'] ? + Pathname.new(ENV['BUNDLE_APP_CONFIG']).expand_path(root) : + root.join('.bundle') + end + + def app_cache + root.join("vendor/cache") + end + + def tmp + user_bundle_path.join("tmp", Process.pid.to_s) + end + + def settings + @settings ||= Settings.new(app_config_path) + end + + def with_clean_env + bundled_env = ENV.to_hash + ENV.replace(ORIGINAL_ENV) + yield + ensure + ENV.replace(bundled_env.to_hash) + end + + def default_gemfile + SharedHelpers.default_gemfile + end + + def default_lockfile + SharedHelpers.default_lockfile + end + + def requires_sudo? + path = bundle_path + path = path.parent until path.exist? + sudo_present = !`which sudo 2>#{NULL}`.empty? + + settings.allow_sudo? && !File.writable?(path) && sudo_present + end + + def mkdir_p(path) + if requires_sudo? + sudo "mkdir -p '#{path}'" unless File.exist?(path) + else + FileUtils.mkdir_p(path) + end + end + + def sudo(str) + `sudo -p 'Enter your password to install the bundled RubyGems to your system: ' #{str}` + end + + def read_file(file) + File.open(file, "rb") { |file| file.read } + end + + def load_gemspec(file) + path = Pathname.new(file) + # Eval the gemspec from its parent directory + Dir.chdir(path.dirname) do + begin + Gem::Specification.from_yaml(path.basename) + # 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) + 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}" + msg << " from\n #{original_line}" if original_line + msg << "\n" + + if RUBY_VERSION >= "1.9.0" + msg << "\nDoes it try to require a relative path? That doesn't work in Ruby 1.9." + end + + raise GemspecError, msg + end + end + end + end + + private + + def configure_gem_home_and_path + 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? } + ENV["GEM_PATH"] = paths.join(File::PATH_SEPARATOR) + ENV["GEM_HOME"] = bundle_path.to_s + end + + Gem.clear_paths + end + + def upgrade_lockfile + lockfile = default_lockfile + if lockfile.exist? && lockfile.read(3) == "---" + Bundler.ui.warn "Detected Gemfile.lock generated by 0.9, deleting..." + lockfile.rmtree + # lock = YAML.load_file(lockfile) + # + # source_uris = lock["sources"].map{|s| s["Rubygems"]["uri"] } + # sources = [Bundler::Source::Rubygems.new({"remotes" => source_uris})] + # + # deps = lock["dependencies"].map do |name, opts| + # version = opts.delete("version") + # Bundler::Dependency.new(name, version, opts) + # end + # + # definition = Bundler::Definition.new(nil, deps, sources, {}) + # + # File.open(lockfile, 'w') do |f| + # f.write definition.to_lock + # end + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/capistrano.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/capistrano.rb new file mode 100644 index 00000000..3d85ea2f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/capistrano.rb @@ -0,0 +1,40 @@ +# Capistrano task for Bundler. +# +# Just add "require 'bundler/capistrano'" in your Capistrano deploy.rb, and +# Bundler will be activated after each new deployment. + +Capistrano::Configuration.instance(:must_exist).load do + after "deploy:update_code", "bundle:install" + + namespace :bundle do + desc <<-DESC + Install the current Bundler environment. By default, gems will be \ + installed to the shared/bundle path. Gems in the development and \ + test group will not be installed. The install command is executed \ + with the --deployment and --quiet flags. You can override any of \ + these defaults by setting the variables shown below. If capistrano \ + can not find the 'bundle' cmd then you can override the bundle_cmd \ + variable to specifiy which one it should use. + + set :bundle_gemfile, "Gemfile" + set :bundle_dir, fetch(:shared_path)+"/bundle" + set :bundle_flags, "--deployment --quiet" + set :bundle_without, [:development, :test] + set :bundle_cmd, "bundle" # e.g. change to "/opt/ruby/bin/bundle" + DESC + task :install, :except => { :no_release => true } do + bundle_dir = fetch(:bundle_dir, " #{fetch(:shared_path)}/bundle") + bundle_without = [*fetch(:bundle_without, [:development, :test])].compact + bundle_flags = fetch(:bundle_flags, "--deployment --quiet") + bundle_gemfile = fetch(:bundle_gemfile, "Gemfile") + bundle_cmd = fetch(:bundle_cmd, "bundle") + + args = ["--gemfile #{fetch(:latest_release)}/#{bundle_gemfile}"] + args << "--path #{bundle_dir}" unless bundle_dir.to_s.empty? + args << bundle_flags.to_s + args << "--without #{bundle_without.join(" ")}" unless bundle_without.empty? + + run "#{bundle_cmd} install #{args.join(' ')}" + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/cli.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/cli.rb new file mode 100644 index 00000000..0102b124 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/cli.rb @@ -0,0 +1,498 @@ +$:.unshift File.expand_path('../vendor', __FILE__) +require 'thor' +require 'thor/actions' +require 'rubygems/config_file' + +# Work around a RubyGems bug +Gem.configuration + +module Bundler + class CLI < Thor + include Thor::Actions + + def initialize(*) + super + use_shell = options["no-color"] ? Thor::Shell::Basic.new : shell + + Bundler.ui = UI::Shell.new(use_shell) + Gem::DefaultUserInteraction.ui = UI::RGProxy.new(Bundler.ui) + end + + check_unknown_options! unless ARGV.include?("exec") || ARGV.include?("config") + + default_task :install + class_option "no-color", :type => :boolean, :banner => "Disable colorization in output" + + def help(cli = nil) + case cli + when "gemfile" then command = "gemfile.5" + when nil then command = "bundle" + else command = "bundle-#{cli}" + end + + manpages = %w( + bundle + bundle-config + bundle-exec + bundle-install + bundle-package + bundle-update + gemfile.5) + + if manpages.include?(command) + root = File.expand_path("../man", __FILE__) + + if have_groff? + groff = "groff -Wall -mtty-char -mandoc -Tascii" + pager = ENV['MANPAGER'] || ENV['PAGER'] || 'more' + + Kernel.exec "#{groff} #{root}/#{command} | #{pager}" + else + puts File.read("#{root}/#{command}.txt") + end + else + super + end + end + + desc "init", "Generates a Gemfile into the current working directory" + long_desc <<-D + Init generates a default Gemfile in the current working directory. When adding a + Gemfile to a gem with a gemspec, the --gemspec option will automatically add each + dependency listed in the gemspec file to the newly created Gemfile. + D + method_option "gemspec", :type => :string, :banner => "Use the specified .gemspec to create the Gemfile" + def init + opts = options.dup + if File.exist?("Gemfile") + Bundler.ui.error "Gemfile already exists at #{Dir.pwd}/Gemfile" + exit 1 + end + + if opts[:gemspec] + gemspec = File.expand_path(opts[:gemspec]) + unless File.exist?(gemspec) + Bundler.ui.error "Gem specification #{gemspec} doesn't exist" + exit 1 + end + spec = Gem::Specification.load(gemspec) + puts "Writing new Gemfile to #{Dir.pwd}/Gemfile" + File.open('Gemfile', 'wb') do |file| + file << "# Generated from #{gemspec}\n" + file << spec.to_gemfile + end + else + puts "Writing new Gemfile to #{Dir.pwd}/Gemfile" + FileUtils.cp(File.expand_path('../templates/Gemfile', __FILE__), 'Gemfile') + end + end + + desc "check", "Checks if the dependencies listed in Gemfile are satisfied by currently installed gems" + long_desc <<-D + Check searches the local machine for each of the gems requested in the Gemfile. If + all gems are found, Bundler prints a success message and exits with a status of 0. + If not, the first missing gem is listed and Bundler exits status 1. + D + method_option "gemfile", :type => :string, :banner => + "Use the specified gemfile instead of Gemfile" + def check + ENV['BUNDLE_GEMFILE'] = File.expand_path(options[:gemfile]) if options[:gemfile] + begin + not_installed = Bundler.definition.missing_specs + rescue GemNotFound, VersionConflict + Bundler.ui.error "Your Gemfile's dependencies could not be satisfied" + Bundler.ui.warn "Install missing gems with `bundle install`" + exit 1 + end + + if not_installed.any? + Bundler.ui.error "The following gems are missing" + not_installed.each { |s| Bundler.ui.error " * #{s.name} (#{s.version})" } + Bundler.ui.warn "Install missing gems with `bundle install`" + exit 1 + else + Bundler.load.lock + Bundler.ui.info "The Gemfile's dependencies are satisfied" + end + end + + desc "install", "Install the current environment to the system" + long_desc <<-D + Install will install all of the gems in the current bundle, making them available + for use. In a freshly checked out repository, this command will give you the same + gem versions as the last person who updated the Gemfile and ran `bundle update`. + + Passing [DIR] to install (e.g. vendor) will cause the unpacked gems to be installed + into the [DIR] directory rather than into system gems. + + If the bundle has already been installed, bundler will tell you so and then exit. + D + method_option "without", :type => :array, :banner => + "Exclude gems that are part of the specified named group." + method_option "disable-shared-gems", :type => :boolean, :banner => + "This option is deprecated. Please do not use it." + method_option "gemfile", :type => :string, :banner => + "Use the specified gemfile instead of Gemfile" + method_option "no-prune", :type => :boolean, :banner => + "Don't remove stale gems from the cache." + method_option "no-cache", :type => :boolean, :banner => + "Don't update the existing gem cache." + method_option "quiet", :type => :boolean, :banner => + "Only output warnings and errors." + method_option "local", :type => :boolean, :banner => + "Do not attempt to fetch gems remotely and use the gem cache instead" + method_option "binstubs", :type => :string, :lazy_default => "bin", :banner => + "Generate bin stubs for bundled gems to ./bin" + method_option "path", :type => :string, :banner => + "Specify a different path than the system default ($BUNDLE_PATH or $GEM_HOME). Bundler will remember this value for future installs on this machine" + method_option "system", :type => :boolean, :banner => + "Install to the system location ($BUNDLE_PATH or $GEM_HOME) even if the bundle was previously installed somewhere else for this application" + method_option "frozen", :type => :boolean, :banner => + "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] ||= [] + opts[:without].map! { |g| g.to_sym } + + + ENV['BUNDLE_GEMFILE'] = File.expand_path(opts[:gemfile]) if opts[:gemfile] + + 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." + exit 1 + end + + if path && opts[:path] + 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." + exit 1 + end + + if opts["disable-shared-gems"] + 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`." + exit 1 + end + + if opts[:deployment] || opts[:frozen] + Bundler.settings[:frozen] = '1' + + unless Bundler.default_lockfile.exist? + flag = opts[:deployment] ? '--deployment' : '--frozen' + raise ProductionError, "The #{flag} flag requires a Gemfile.lock. Please make " \ + "sure you have checked your Gemfile.lock into version control " \ + "before deploying." + end + + if Bundler.root.join("vendor/cache").exist? + opts[:local] = true + end + end + + # Can't use Bundler.settings for this because settings needs gemfile.dirname + 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.without = opts[:without] + 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.ui.confirm "Your bundle is complete! " + + "Use `bundle show [gemname]` to see where a bundled gem is installed." + + Bundler.ui.confirm "\nYour bundle was installed to `#{Bundler.settings[:path]}`" if Bundler.settings[:path] + + if path + Bundler.ui.warn "\nIf you meant to install it to your system, please remove the\n" \ + "`#{path}` directory and run `bundle install --system`" + end + rescue GemNotFound => e + if Bundler.definition.no_sources? + Bundler.ui.warn "Your Gemfile doesn't have any sources. You can add one with a line like 'source :gemcutter'" + end + raise e + end + + desc "update", "update the current environment" + long_desc <<-D + Update will install the newest versions of the gems listed in the Gemfile. Use + update when you have changed the Gemfile, or if you want to get the newest + 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)" + def update(*gems) + sources = Array(options[:source]) + + if gems.empty? && sources.empty? + # We're doing a full update + Bundler.definition(true) + else + Bundler.definition(:gems => gems, :sources => sources) + end + + Installer.install Bundler.root, Bundler.definition, "update" => true + 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." + end + + desc "lock", "Locks the bundle to the current set of dependencies, including all child dependencies." + def lock + Bundler.ui.warn "Lock is deprecated. Your bundle is now locked whenever you run `bundle install`." + end + + desc "unlock", "Unlock the bundle. This allows gem versions to be changed." + def unlock + Bundler.ui.warn "Unlock is deprecated. To update to newer gem versions, use `bundle update`." + end + + desc "show [GEM]", "Shows all gems that are part of the bundle, or the path to a given gem" + long_desc <<-D + Show lists the names and versions of all gems that are required by your Gemfile. + Calling show with [GEM] will list the exact location of that gem on your machine. + D + def show(gem_name = nil) + Bundler.load.lock + + if gem_name + Bundler.ui.info locate_gem(gem_name) + else + Bundler.ui.info "Gems included by the bundle:" + Bundler.load.specs.sort_by { |s| s.name }.each do |s| + Bundler.ui.info " * #{s.name} (#{s.version}#{s.git_version})" + end + end + end + map %w(list) => "show" + + desc "cache", "Cache all the gems to vendor/cache", :hide => true + method_option "no-prune", :type => :boolean, :banner => "Don't remove stale gems from the cache." + def cache + Bundler.definition.resolve_with_cache! + Bundler.load.cache + Bundler.settings[:no_prune] = true if options[:no_prune] + Bundler.load.lock + rescue GemNotFound => e + Bundler.ui.error(e.message) + Bundler.ui.warn "Run `bundle install` to install missing gems." + exit 128 + end + + desc "package", "Locks and then caches all of the gems into vendor/cache" + method_option "no-prune", :type => :boolean, :banner => "Don't remove stale gems from the cache." + long_desc <<-D + The package command will copy the .gem files for every gem in the bundle into the + directory ./vendor/cache. If you then check that directory into your source + control repository, others who check out your source will be able to install the + bundle without having to download any additional gems. + D + def package + install + # TODO: move cache contents here now that all bundles are locked + Bundler.load.cache + end + map %w(pack) => :package + + desc "exec", "Run the command in context of the bundle" + long_desc <<-D + Exec runs a command, providing it access to the gems in the bundle. While using + bundle exec you can require and call the bundled gems as if they were installed + into the systemwide Rubygems repository. + D + def exec(*) + ARGV.delete("exec") + + Bundler.setup + + begin + # Run + Kernel.exec(*ARGV) + rescue Errno::EACCES + Bundler.ui.error "bundler: not executable: #{ARGV.first}" + exit 126 + rescue Errno::ENOENT + Bundler.ui.error "bundler: command not found: #{ARGV.first}" + Bundler.ui.warn "Install missing gem binaries with `bundle install`" + exit 127 + end + end + + desc "config NAME [VALUE]", "retrieve or set a configuration value" + long_desc <<-D + Retrieves or sets a configuration value. If only parameter is provided, retrieve the value. If two parameters are provided, replace the + existing value with the newly provided one. + + By default, setting a configuration value sets it for all projects + on the machine. + + If a global setting is superceded by local configuration, this command + will show the current value, as well as any superceded values and + where they were specified. + D + def config(name = nil, *args) + values = ARGV.dup + values.shift # remove config + values.shift # remove the name + + unless name + Bundler.ui.confirm "Settings are listed in order of priority. The top value will be used.\n" + + Bundler.settings.all.each do |setting| + Bundler.ui.confirm "#{setting}" + with_padding do + Bundler.settings.pretty_values_for(setting).each do |line| + Bundler.ui.info line + end + end + Bundler.ui.confirm "" + end + return + end + + if values.empty? + Bundler.ui.confirm "Settings for `#{name}` in order of priority. The top value will be used" + with_padding do + Bundler.settings.pretty_values_for(name).each { |line| Bundler.ui.info line } + end + else + locations = Bundler.settings.locations(name) + + if local = locations[:local] + Bundler.ui.info "Your application has set #{name} to #{local.inspect}. This will override the " \ + "system value you are currently setting" + end + + if global = locations[:global] + Bundler.ui.info "You are replacing the current system value of #{name}, which is currently #{global}" + end + + if env = locations[:env] + Bundler.ui.info "You have set a bundler environment variable for #{env}. This will take precedence " \ + "over the system value you are setting" + end + + Bundler.settings.set_global(name, values.join(" ")) + end + end + + desc "open GEM", "Opens the source directory of the given bundled gem" + def open(name) + editor = [ENV['BUNDLER_EDITOR'], ENV['VISUAL'], ENV['EDITOR']].find{|e| !e.nil? && !e.empty? } + if editor + command = "#{editor} #{locate_gem(name)}" + success = system(command) + Bundler.ui.info "Could not run '#{command}'" unless success + else + Bundler.ui.info("To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR") + end + end + + 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 + ARGV.clear + + require 'irb' + IRB.start + end + + desc "version", "Prints the bundler's version information" + def version + Bundler.ui.info "Bundler version #{Bundler::VERSION}" + end + map %w(-v --version) => :version + + desc 'viz', "Generates a visual dependency graph" + long_desc <<-D + Viz generates a PNG file of the current Gemfile as a dependency graph. + Viz requires the ruby-graphviz gem (and its dependencies). + The associated gems must also be installed via 'bundle install'. + D + method_option :file, :type => :string, :default => 'gem_graph.png', :aliases => '-f', :banner => "The name to use for the generated png file." + method_option :version, :type => :boolean, :default => false, :aliases => '-v', :banner => "Set to show each gem version." + method_option :requirements, :type => :boolean, :default => false, :aliases => '-r', :banner => "Set to show the version of each required dependency." + def viz + output_file = File.expand_path(options[:file]) + graph = Graph.new( Bundler.load ) + + begin + graph.viz(output_file, options[:version], options[:requirements]) + Bundler.ui.info output_file + rescue LoadError => e + Bundler.ui.error e.inspect + Bundler.ui.warn "Make sure you have the graphviz ruby gem. You can install it with:" + Bundler.ui.warn "`gem install ruby-graphviz`" + rescue StandardError => e + if e.message =~ /GraphViz not installed or dot not in PATH/ + Bundler.ui.error e.message + Bundler.ui.warn "The ruby graphviz gem requires GraphViz to be installed" + else + raise + end + end + end + + desc "gem GEM", "Creates a skeleton for creating a rubygem" + def gem(name) + target = File.join(Dir.pwd, name) + if File.exist?(name) + Bundler.ui.error "File already exists at #{File.join(Dir.pwd, name)}" + exit 1 + end + + 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('::') + FileUtils.mkdir_p(File.join(target, 'lib', name)) + opts = {:name => name, :constant_name => constant_name, :constant_array => constant_array} + 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) + template(File.join('newgem', 'newgem.gemspec.tt'), File.join(target, "#{name}.gemspec"), opts) + template(File.join('newgem', 'lib', 'newgem.rb.tt'), File.join(target, 'lib', "#{name}.rb"), opts) + template(File.join('newgem', 'lib', 'newgem', 'version.rb.tt'), File.join(target, 'lib', name, 'version.rb'), opts) + Bundler.ui.info "Initializating git repo in #{target}" + Dir.chdir(target) { `git init`; `git add .` } + end + + def self.source_root + File.expand_path(File.join(File.dirname(__FILE__), 'templates')) + end + + private + + def have_groff? + `which groff 2>#{NULL}` + $? == 0 + end + + def locate_gem(name) + spec = Bundler.load.specs.find{|s| s.name == name } + raise GemNotFound, "Could not find gem '#{name}' in the current bundle." unless spec + if spec.name == 'bundler' + return File.expand_path('../../../', __FILE__) + end + spec.full_gem_path + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/definition.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/definition.rb new file mode 100644 index 00000000..7e01869f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/definition.rb @@ -0,0 +1,421 @@ +require "digest/sha1" + +module Bundler + class Definition + include GemHelpers + + attr_reader :dependencies, :platforms, :sources + + def self.build(gemfile, lockfile, unlock) + unlock ||= {} + gemfile = Pathname.new(gemfile).expand_path + + unless gemfile.file? + raise GemfileNotFound, "#{gemfile} not found" + end + + # TODO: move this back into DSL + builder = Dsl.new + builder.instance_eval(Bundler.read_file(gemfile.to_s), gemfile.to_s, 1) + builder.to_definition(lockfile, unlock) + end + +=begin + How does the new system work? + === + * Load information from Gemfile and Lockfile + * Invalidate stale locked specs + * All specs from stale source are stale + * All specs that are reachable only through a stale + dependency are stale. + * If all fresh dependencies are satisfied by the locked + specs, then we can try to resolve locally. +=end + + def initialize(lockfile, dependencies, sources, unlock) + @dependencies, @sources, @unlock = dependencies, sources, unlock + @remote = false + @specs = nil + @lockfile_contents = "" + + if lockfile && File.exists?(lockfile) + @lockfile_contents = Bundler.read_file(lockfile) + locked = LockfileParser.new(@lockfile_contents) + @platforms = locked.platforms + + if unlock != true + @locked_deps = locked.dependencies + @locked_specs = SpecSet.new(locked.specs) + @locked_sources = locked.sources + else + @unlock = {} + @locked_deps = [] + @locked_specs = SpecSet.new([]) + @locked_sources = [] + end + else + @unlock = {} + @platforms = [] + @locked_deps = [] + @locked_specs = SpecSet.new([]) + @locked_sources = [] + end + + @unlock[:gems] ||= [] + @unlock[:sources] ||= [] + + current_platform = Gem.platforms.map { |p| generic(p) }.compact.last + @new_platform = !@platforms.include?(current_platform) + @platforms |= [current_platform] + + eager_unlock = expand_dependencies(@unlock[:gems]) + @unlock[:gems] = @locked_specs.for(eager_unlock).map { |s| s.name } + + converge_sources + converge_dependencies + end + + def resolve_with_cache! + raise "Specs already loaded" if @specs + @sources.each { |s| s.cached! } + specs + end + + def resolve_remotely! + raise "Specs already loaded" if @specs + @remote = true + @sources.each { |s| s.remote! } + specs + end + + def specs + @specs ||= begin + specs = resolve.materialize(requested_dependencies) + + unless specs["bundler"].any? + bundler = index.search(Gem::Dependency.new('bundler', VERSION)).last + specs["bundler"] = bundler if bundler + end + + specs + end + end + + def new_specs + specs - @locked_specs + end + + def removed_specs + @locked_specs - specs + end + + def new_platform? + @new_platform + end + + def missing_specs + missing = [] + resolve.materialize(requested_dependencies, missing) + missing + end + + def requested_specs + @requested_specs ||= begin + groups = self.groups - Bundler.settings.without + groups.map! { |g| g.to_sym } + specs_for(groups) + end + end + + def current_dependencies + dependencies.reject { |d| !d.should_include? } + end + + def specs_for(groups) + deps = dependencies.select { |d| (d.groups & groups).any? } + deps.delete_if { |d| !d.should_include? } + specs.for(expand_dependencies(deps)) + end + + def resolve + @resolve ||= begin + if Bundler.settings[:frozen] + @locked_specs + else + last_resolve = converge_locked_specs + source_requirements = {} + dependencies.each do |dep| + next unless dep.source + source_requirements[dep.name] = dep.source.specs + end + + # Run a resolve against the locally available gems + last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve) + end + end + end + + def index + @index ||= Index.build do |idx| + @sources.each do |s| + idx.use s.specs + end + end + end + + def no_sources? + @sources.length == 1 && @sources.first.remotes.empty? + end + + def groups + dependencies.map { |d| d.groups }.flatten.uniq + end + + def lock(file) + contents = to_lock + + return if @lockfile_contents == contents + + if Bundler.settings[:frozen] + # TODO: Warn here if we got here. + return + end + + File.open(file, 'wb') do |f| + f.puts contents + end + end + + def to_lock + out = "" + + sorted_sources.each do |source| + # Add the source header + out << source.to_lock + # Find all specs for this source + resolve. + select { |s| s.source == source }. + # This needs to be sorted by full name so that + # gems with the same name, but different platform + # are ordered consistantly + sort_by { |s| s.full_name }. + each do |spec| + next if spec.name == 'bundler' + out << spec.to_lock + end + out << "\n" + end + + out << "PLATFORMS\n" + + platforms.map { |p| p.to_s }.sort.each do |p| + out << " #{p}\n" + end + + out << "\n" + out << "DEPENDENCIES\n" + + handled = [] + dependencies. + sort_by { |d| d.name }. + each do |dep| + next if handled.include?(dep.name) + out << dep.to_lock + handled << dep.name + end + + out + end + + def ensure_equivalent_gemfile_and_lockfile + changes = false + + msg = "You have modified your Gemfile in development but did not check\n" \ + "the resulting snapshot (Gemfile.lock) into version control" + + added = [] + deleted = [] + changed = [] + + if @locked_sources != @sources + new_sources = @sources - @locked_sources + deleted_sources = @locked_sources - @sources + + if new_sources.any? + added.concat new_sources.map { |source| "* source: #{source}" } + end + + if deleted_sources.any? + deleted.concat deleted_sources.map { |source| "* source: #{source}" } + end + + changes = true + end + + both_sources = Hash.new { |h,k| h[k] = ["no specified source", "no specified source"] } + @dependencies.each { |d| both_sources[d.name][0] = d.source if d.source } + @locked_deps.each { |d| both_sources[d.name][1] = d.source if d.source } + both_sources.delete_if { |k,v| v[0] == v[1] } + + if @dependencies != @locked_deps + new_deps = @dependencies - @locked_deps + deleted_deps = @locked_deps - @dependencies + + if new_deps.any? + added.concat new_deps.map { |d| "* #{pretty_dep(d)}" } + end + + if deleted_deps.any? + deleted.concat deleted_deps.map { |d| "* #{pretty_dep(d)}" } + end + + both_sources.each do |name, sources| + changed << "* #{name} from `#{sources[0]}` to `#{sources[1]}`" + end + + changes = true + end + + 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? + + raise ProductionError, msg if added.any? || deleted.any? || changed.any? + end + + private + + def pretty_dep(dep, source = false) + msg = "#{dep.name}" + msg << " (#{dep.requirement})" unless dep.requirement == Gem::Requirement.default + msg << " from the `#{dep.source}` source" if source && dep.source + msg + end + + def converge_sources + locked_gem = @locked_sources.find { |s| Source::Rubygems === s } + actual_gem = @sources.find { |s| Source::Rubygems === s } + + if locked_gem && actual_gem + locked_gem.merge_remotes actual_gem + end + + @sources.map! do |source| + @locked_sources.find { |s| s == source } || source + end + + @sources.each do |source| + source.unlock! if source.respond_to?(:unlock!) && @unlock[:sources].include?(source.name) + end + end + + def converge_dependencies + (@dependencies + @locked_deps).each do |dep| + if dep.source + dep.source = @sources.find { |s| dep.source == s } + end + end + end + + # Remove elements from the locked specs that are expired. This will most + # commonly happen if the Gemfile has changed since the lockfile was last + # generated + def converge_locked_specs + deps = [] + + # Build a list of dependencies that are the same in the Gemfile + # and Gemfile.lock. If the Gemfile modified a dependency, but + # the gem in the Gemfile.lock still satisfies it, this is fine + # too. + @dependencies.each do |dep| + locked_dep = @locked_deps.find { |d| dep == d } + + if in_locked_deps?(dep, locked_dep) || satisfies_locked_spec?(dep) + deps << dep + elsif dep.source.is_a?(Source::Path) && (!locked_dep || dep.source != locked_dep.source) + @locked_specs.each do |s| + @unlock[:gems] << s.name if s.source == dep.source + end + + dep.source.unlock! if dep.source.respond_to?(:unlock!) + dep.source.specs.each { |s| @unlock[:gems] << s.name } + end + end + + converged = [] + @locked_specs.each do |s| + s.source = @sources.find { |src| s.source == src } + + # Don't add a spec to the list if its source is expired. For example, + # if you change a Git gem to Rubygems. + next if s.source.nil? || @unlock[:sources].include?(s.name) + # If the spec is from a path source and it doesn't exist anymore + # then we just unlock it. + + # Path sources have special logic + if s.source.instance_of?(Source::Path) + other = s.source.specs[s].first + + # 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 + # If the dependencies of the path source have changed, unlock it + next unless s.dependencies.sort == other.dependencies.sort + end + + converged << s + end + + resolve = SpecSet.new(converged) + resolve = resolve.for(expand_dependencies(deps, true), @unlock[:gems]) + diff = @locked_specs.to_a - resolve.to_a + + # Now, we unlock any sources that do not have anymore gems pinned to it + @sources.each do |source| + next unless source.respond_to?(:unlock!) + + unless resolve.any? { |s| s.source == source } + source.unlock! if diff.any? { |s| s.source == source } + end + end + + resolve + end + + def in_locked_deps?(dep, d) + d && dep.source == d.source + end + + def satisfies_locked_spec?(dep) + @locked_specs.any? { |s| s.satisfies?(dep) && (!dep.source || s.source == dep.source) } + end + + def expanded_dependencies + @expanded_dependencies ||= expand_dependencies(dependencies, @remote) + end + + def expand_dependencies(dependencies, remote = false) + deps = [] + dependencies.each do |dep| + dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name) + dep.gem_platforms(@platforms).each do |p| + deps << DepProxy.new(dep, p) if remote || p == generic(Gem::Platform.local) + end + end + deps + end + + def sorted_sources + @sources.sort_by do |s| + # Place GEM at the top + [ s.is_a?(Source::Rubygems) ? 1 : 0, s.to_s ] + end + end + + def requested_dependencies + groups = self.groups - Bundler.settings.without + groups.map! { |g| g.to_sym } + dependencies.reject { |d| !d.should_include? || (d.groups & groups).empty? } + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dependency.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dependency.rb new file mode 100644 index 00000000..358dfd5a --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dependency.rb @@ -0,0 +1,114 @@ +require 'rubygems/dependency' +require 'bundler/shared_helpers' +require 'bundler/rubygems_ext' + +module Bundler + class Dependency < Gem::Dependency + attr_reader :autorequire + attr_reader :groups + attr_reader :platforms + + PLATFORM_MAP = { + :ruby => Gem::Platform::RUBY, + :ruby_18 => Gem::Platform::RUBY, + :ruby_19 => Gem::Platform::RUBY, + :mri => Gem::Platform::RUBY, + :mri_18 => Gem::Platform::RUBY, + :mri_19 => Gem::Platform::RUBY, + :jruby => Gem::Platform::JAVA, + :mswin => Gem::Platform::MSWIN + }.freeze + + def initialize(name, version, options = {}, &blk) + super(name, version) + + @autorequire = nil + @groups = Array(options["group"] || :default).map { |g| g.to_sym } + @source = options["source"] + @platforms = Array(options["platforms"]) + @env = options["env"] + + if options.key?('require') + @autorequire = Array(options['require'] || []) + end + end + + def gem_platforms(valid_platforms) + return valid_platforms if @platforms.empty? + + platforms = [] + @platforms.each do |p| + platform = PLATFORM_MAP[p] + next unless valid_platforms.include?(platform) + platforms |= [platform] + end + platforms + end + + def should_include? + current_env? && current_platform? + end + + def current_env? + return true unless @env + if Hash === @env + @env.all? do |key, val| + ENV[key.to_s] && (String === val ? ENV[key.to_s] == val : ENV[key.to_s] =~ val) + end + else + ENV[@env.to_s] + end + end + + def current_platform? + return true if @platforms.empty? + @platforms.any? { |p| send("#{p}?") } + end + + def to_lock + out = " #{name}" + + unless requirement == Gem::Requirement.default + out << " (#{requirement.to_s})" + end + + out << '!' if source + + out << "\n" + end + + private + + def ruby? + !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" || RUBY_ENGINE == "rbx") + end + + def ruby_18? + ruby? && RUBY_VERSION < "1.9" + end + + def ruby_19? + ruby? && RUBY_VERSION >= "1.9" + end + + def mri? + !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby") + end + + def mri_18? + mri? && RUBY_VERSION < "1.9" + end + + def mri_19? + mri? && RUBY_VERSION >= "1.9" + end + + def jruby? + defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby" + end + + def mswin? + # w0t? + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dsl.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dsl.rb new file mode 100644 index 00000000..b5582311 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/dsl.rb @@ -0,0 +1,245 @@ +require 'bundler/dependency' + +module Bundler + class Dsl + def self.evaluate(gemfile) + builder = new + builder.instance_eval(Bundler.read_file(gemfile.to_s), gemfile.to_s, 1) + builder.to_definition + end + + VALID_PLATFORMS = Bundler::Dependency::PLATFORM_MAP.keys.freeze + + def initialize + @rubygems_source = Source::Rubygems.new + @source = nil + @sources = [] + @dependencies = [] + @groups = [] + @platforms = [] + @env = nil + end + + def gemspec(opts = nil) + path = opts && opts[:path] || '.' + name = opts && opts[:name] || '*' + development_group = opts && opts[:development_group] || :development + path = File.expand_path(path, Bundler.default_gemfile.dirname) + gemspecs = Dir[File.join(path, "#{name}.gemspec")] + + case gemspecs.size + when 1 + spec = Gem::Specification.load(gemspecs.first) + gem spec.name, :path => path + spec.runtime_dependencies.each do |dep| + gem dep.name, dep.requirement.to_s + end + group(development_group) do + spec.development_dependencies.each do |dep| + gem dep.name, dep.requirement.to_s + end + end + when 0 + raise InvalidOption, "There are no gemspecs at #{path}." + else + raise InvalidOption, "There are multiple gemspecs at #{path}. Please use the :name option to specify which one." + end + end + + def gem(name, *args) + if name.is_a?(Symbol) + raise GemfileError, %{You need to specify gem names as Strings. Use 'gem "#{name.to_s}"' instead.} + end + + options = Hash === args.last ? args.pop : {} + version = args || [">= 0"] + if group = options[:groups] || options[:group] + options[:group] = group + end + + _deprecated_options(options) + _normalize_options(name, version, options) + + dep = Dependency.new(name, version, options) + + if current = @dependencies.find { |d| d.name == dep.name } + if current.requirement != dep.requirement + raise DslError, "You cannot specify the same gem twice with different version requirements. " \ + "You specified: #{current.name} (#{current.requirement}) and " \ + "#{dep.name} (#{dep.requirement})" + end + + if current.source != dep.source + 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}" + end + end + @dependencies << Dependency.new(name, version, options) + end + + def source(source, options = {}) + case source + when :gemcutter, :rubygems, :rubyforge then + rubygems_source "http://rubygems.org" + return + when String + rubygems_source source + return + end + + @source = source + options[:prepend] ? @sources.unshift(@source) : @sources << @source + + yield if block_given? + @source + ensure + @source = nil + end + + def path(path, options = {}, source_options = {}, &blk) + source Source::Path.new(_normalize_hash(options).merge("path" => Pathname.new(path))), source_options, &blk + end + + def git(uri, options = {}, source_options = {}, &blk) + unless block_given? + 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" + raise DeprecatedError, msg + end + + source Source::Git.new(_normalize_hash(options).merge("uri" => uri)), source_options, &blk + end + + def to_definition(lockfile, unlock) + @sources << @rubygems_source + @sources.uniq! + Definition.new(lockfile, @dependencies, @sources, unlock) + end + + def group(*args, &blk) + @groups.concat args + yield + ensure + args.each { @groups.pop } + end + + def platforms(*platforms) + @platforms.concat platforms + yield + ensure + platforms.each { @platforms.pop } + end + + def env(name) + @env, old = name, @env + yield + ensure + @env = old + end + + # Deprecated methods + + def self.deprecate(name, replacement = nil) + define_method(name) do |*| + message = "'#{name}' has been removed from the Gemfile DSL, " + if replacement + message << "and has been replaced with '#{replacement}'." + else + message << "and is no longer supported." + end + message << "\nSee the README for more information on upgrading from Bundler 0.8." + raise DeprecatedError, message + end + end + + deprecate :only, :group + deprecate :except + deprecate :disable_system_gems + deprecate :disable_rubygems + deprecate :clear_sources + deprecate :bundle_path + deprecate :bin_path + + private + + def rubygems_source(source) + @rubygems_source.add_remote source + @sources << @rubygems_source + end + + def _normalize_hash(opts) + # Cannot modify a hash during an iteration in 1.9 + opts.keys.each do |k| + next if String === k + v = opts[k] + opts.delete(k) + opts[k.to_s] = v + end + opts + end + + def _normalize_options(name, version, opts) + _normalize_hash(opts) + + invalid_keys = opts.keys - %w(group git path name branch ref tag require submodules platforms) + if invalid_keys.any? + plural = invalid_keys.size > 1 + message = "You passed #{invalid_keys.map{|k| ':'+k }.join(", ")} " + if plural + message << "as options for gem '#{name}', but they are invalid." + else + message << "as an option for gem '#{name}', but it is invalid." + end + raise InvalidOption, message + end + + groups = @groups.dup + groups.concat Array(opts.delete("group")) + groups = [:default] if groups.empty? + + platforms = @platforms.dup + platforms.concat Array(opts.delete("platforms")) + platforms.map! { |p| p.to_sym } + platforms.each do |p| + next if VALID_PLATFORMS.include?(p) + raise DslError, "`#{p}` is not a valid platform. The available options are: #{VALID_PLATFORMS.inspect}" + end + + # Normalize git and path options + ["git", "path"].each do |type| + if param = opts[type] + if version.first && version.first =~ /^\s*=?\s*(\d[^\s]*)\s*$/ + options = opts.merge("name" => name, "version" => $1) + else + options = opts.dup + end + source = send(type, param, options, :prepend => true) {} + opts["source"] = source + end + end + + opts["source"] ||= @source + opts["env"] ||= @env + opts["platforms"] = @platforms.dup + opts["group"] = groups + end + + def _deprecated_options(options) + if options.include?(:require_as) + raise DeprecatedError, "Please replace :require_as with :require" + elsif options.include?(:vendored_at) + raise DeprecatedError, "Please replace :vendored_at with :path" + elsif options.include?(:only) + raise DeprecatedError, "Please replace :only with :group" + elsif options.include?(:except) + raise DeprecatedError, "The :except option is no longer supported" + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/environment.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/environment.rb new file mode 100644 index 00000000..d8219516 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/environment.rb @@ -0,0 +1,47 @@ +module Bundler + class Environment + attr_reader :root + + def initialize(root, definition) + @root = root + @definition = definition + + env_file = Bundler.app_config_path.join('environment.rb') + env_file.rmtree if env_file.exist? + end + + def inspect + @definition.to_lock.inspect + end + + # TODO: Remove this method. It's used in cli.rb still + def index + @definition.index + end + + def requested_specs + @definition.requested_specs + end + + def specs + @definition.specs + end + + def dependencies + @definition.dependencies + end + + def current_dependencies + @definition.current_dependencies + end + + def lock + @definition.lock(Bundler.default_lockfile) + end + + def update(*gems) + # Nothing + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/gem_helper.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/gem_helper.rb new file mode 100644 index 00000000..022450b4 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/gem_helper.rb @@ -0,0 +1,150 @@ +$:.unshift File.expand_path('../vendor', __FILE__) +require 'open3' +require 'thor' + +module Bundler + class GemHelper + def self.install_tasks(opts = nil) + dir = caller.find{|c| /Rakefile:/}[/^(.*?)\/Rakefile:/, 1] + GemHelper.new(dir, opts && opts[:name]).install + end + + attr_reader :spec_path, :base, :gemspec + + def initialize(base, name = nil) + Bundler.ui = UI::Shell.new(Thor::Shell::Color.new) + @base = base + gemspecs = name ? [File.join(base, "#{name}.gemspec")] : Dir[File.join(base, "*.gemspec")] + raise "Unable to determine name from existing gemspec. Use :name => 'gemname' in #install_tasks to manually set it." unless gemspecs.size == 1 + @spec_path = gemspecs.first + @gemspec = Bundler.load_gemspec(@spec_path) + end + + def install + desc "Build #{name}-#{version}.gem into the pkg directory" + task 'build' do + build_gem + end + + desc "Build and install #{name}-#{version}.gem into system gems" + task 'install' do + install_gem + end + + desc "Create tag #{version_tag} and build and push #{name}-#{version}.gem to Rubygems" + task 'release' do + release_gem + end + end + + def build_gem + file_name = nil + sh("gem build #{spec_path}") { |out, err| + raise err if err[/ERROR/] + file_name = File.basename(built_gem_path) + FileUtils.mkdir_p(File.join(base, 'pkg')) + FileUtils.mv(built_gem_path, 'pkg') + Bundler.ui.confirm "#{name} #{version} built to pkg/#{file_name}" + } + File.join(base, 'pkg', file_name) + end + + def install_gem + built_gem_path = build_gem + out, err, code = sh_with_code("gem install #{built_gem_path}") + if err[/ERROR/] + Bundler.ui.error err + else + Bundler.ui.confirm "#{name} (#{version}) installed" + end + end + + def release_gem + guard_clean + guard_already_tagged + built_gem_path = build_gem + tag_version { + git_push + rubygem_push(built_gem_path) + } + end + + protected + def rubygem_push(path) + sh("gem push #{path}") + Bundler.ui.confirm "Pushed #{name} #{version} to rubygems.org" + end + + def built_gem_path + Dir[File.join(base, "#{name}-*.gem")].sort_by{|f| File.mtime(f)}.last + end + + def git_push + perform_git_push + perform_git_push ' --tags' + Bundler.ui.confirm "Pushed git commits and tags" + end + + def perform_git_push(options = '') + out, err, code = sh_with_code "git push --quiet#{options}" + raise err unless err == '' + end + + def guard_already_tagged + if sh('git tag').split(/\n/).include?(version_tag) + raise("This tag has already been committed to the repo.") + end + end + + def guard_clean + clean? or raise("There are files that need to be committed first.") + end + + def clean? + sh("git ls-files -dm").split("\n").size.zero? + end + + def tag_version + sh "git tag -am 'Version #{version}' #{version_tag}" + Bundler.ui.confirm "Tagged #{tagged_sha} with #{version_tag}" + yield if block_given? + rescue + Bundler.ui.error "Untagged #{tagged_sha} with #{version_tag} due to error" + sh "git tag -d #{version_tag}" + raise + end + + def tagged_sha + sh("git show-ref --tags #{version_tag}").split(' ').first[0, 8] + end + + def version + gemspec.version + end + + def version_tag + "v#{version}" + end + + def name + gemspec.name + end + + def sh(cmd, &block) + out, err, code = sh_with_code(cmd, &block) + code == 0 ? out : raise(out.empty? ? err : out) + end + + def sh_with_code(cmd, &block) + outbuf, errbuf = '', '' + Dir.chdir(base) { + stdin, stdout, stderr = *Open3.popen3(cmd) + if $? == 0 + outbuf, errbuf = stdout.read, stderr.read + block.call(outbuf, errbuf) if block + end + } + [outbuf, errbuf, $?] + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/graph.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/graph.rb new file mode 100644 index 00000000..32d6af47 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/graph.rb @@ -0,0 +1,130 @@ +module Bundler + class Graph + + USER_OPTIONS = {:style => 'filled, bold', :fillcolor => '#cccccc'}.freeze + + def initialize(env) + @env = env + end + + def nodes + populate + @nodes + end + + def groups + populate + @groups + end + + def viz(output_file, show_gem_versions = false, show_dependency_requirements = false) + require 'graphviz' + populate + + graph_viz = GraphViz::new('Gemfile', {:concentrate => true, :dpi => 65 } ) + graph_viz.edge[:fontname] = graph_viz.node[:fontname] = 'Arial, Helvetica, SansSerif' + graph_viz.edge[:fontsize] = 12 + + viz_nodes = {} + + # populate all of the nodes + nodes.each do |name, node| + label = name.dup + label << "\n#{node.version}" if show_gem_versions + options = { :label => label } + options.merge!( USER_OPTIONS ) if node.is_user + viz_nodes[name] = graph_viz.add_node( name, options ) + end + + group_nodes = {} + @groups.each do |name, dependencies| + group_nodes[name] = graph_viz.add_node(name.to_s, { :shape => 'folder', :fontsize => 16 }.merge(USER_OPTIONS)) + dependencies.each do |dependency| + options = { :weight => 2 } + if show_dependency_requirements && (dependency.requirement.to_s != ">= 0") + options[:label] = dependency.requirement.to_s + end + graph_viz.add_edge( group_nodes[name], viz_nodes[dependency.name], options ) + end + end + + @groups.keys.select { |group| group != :default }.each do |group| + graph_viz.add_edge( group_nodes[group], group_nodes[:default], { :weight => 2 } ) + end + + viz_nodes.each do |name, node| + nodes[name].dependencies.each do |dependency| + options = { } + if nodes[dependency.name].is_user + options[:constraint] = false + end + if show_dependency_requirements && (dependency.requirement.to_s != ">= 0") + options[:label] = dependency.requirement.to_s + end + + graph_viz.add_edge( node, viz_nodes[dependency.name], options ) + end + end + + graph_viz.output( :png => output_file ) + end + + private + + def populate + return if @populated + + # hash of name => GraphNode + @nodes = {} + @groups = {} + + # Populate @nodes + @env.specs.each { |spec| @nodes[spec.name] = GraphNode.new(spec.name, spec.version) } + + # For gems in Gemfile, add details + @env.current_dependencies.each do |dependency| + node = @nodes[dependency.name] + node.is_user = true + + dependency.groups.each do |group| + if @groups.has_key? group + group = @groups[group] + else + group = @groups[group] = [] + end + group << dependency + end + end + + # walk though a final time and add edges + @env.specs.each do |spec| + + from = @nodes[spec.name] + spec.runtime_dependencies.each do |dependency| + from.dependencies << dependency + end + + end + + @nodes.freeze + @groups.freeze + @populated = true + end + + end + + # Add version info + class GraphNode + + def initialize(name, version) + @name = name + @version = version + @is_user = false + @dependencies = [] + end + + attr_reader :name, :dependencies, :version + attr_accessor :is_user + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/index.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/index.rb new file mode 100644 index 00000000..99621335 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/index.rb @@ -0,0 +1,114 @@ +module Bundler + class Index + include Enumerable + + def self.build + i = new + yield i + i + end + + def initialize + @cache = {} + @specs = Hash.new { |h,k| h[k] = [] } + end + + def initialize_copy(o) + super + @cache = {} + @specs = Hash.new { |h,k| h[k] = [] } + merge!(o) + end + + def empty? + each { return false } + true + end + + def search(query) + case query + when Gem::Specification, RemoteSpecification, LazySpecification then search_by_spec(query) + when String then @specs[query] + else search_by_dependency(query) + end + end + + def search_for_all_platforms(dependency, base = []) + specs = @specs[dependency.name] + base + + wants_prerelease = dependency.requirement.prerelease? + only_prerelease = specs.all? {|spec| spec.version.prerelease? } + found = specs.select { |spec| dependency =~ spec } + + unless wants_prerelease || only_prerelease + found.reject! { |spec| spec.version.prerelease? } + end + + found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\0" : s.platform.to_s] } + end + + def sources + @specs.values.map do |specs| + specs.map{|s| s.source.class } + end.flatten.uniq + end + + alias [] search + + def <<(spec) + arr = @specs[spec.name] + + arr.delete_if do |s| + s.version == spec.version && s.platform == spec.platform + end + + arr << spec + spec + end + + def each(&blk) + @specs.values.each do |specs| + specs.each(&blk) + end + end + + def use(other) + return unless other + other.each do |s| + next if search_by_spec(s).any? + @specs[s.name] << s + end + self + end + + def ==(o) + all? do |s| + s2 = o[s].first and (s.dependencies & s2.dependencies).empty? + end + end + + private + + def search_by_spec(spec) + @specs[spec.name].select do |s| + s.version == spec.version && Gem::Platform.new(s.platform) == Gem::Platform.new(spec.platform) + end + end + + def search_by_dependency(dependency) + @cache[dependency.hash] ||= begin + specs = @specs[dependency.name] + + wants_prerelease = dependency.requirement.prerelease? + only_prerelease = specs.all? {|spec| spec.version.prerelease? } + found = specs.select { |spec| dependency =~ spec && Gem::Platform.match(spec.platform) } + + unless wants_prerelease || only_prerelease + found.reject! { |spec| spec.version.prerelease? } + end + + found.sort_by {|s| [s.version, s.platform.to_s == 'ruby' ? "\0" : s.platform.to_s] } + end + end + end +end \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/installer.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/installer.rb new file mode 100644 index 00000000..01e2d0a5 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/installer.rb @@ -0,0 +1,83 @@ +require 'erb' +require 'rubygems/dependency_installer' + +module Bundler + class Installer < Environment + def self.install(root, definition, options = {}) + installer = new(root, definition) + installer.run(options) + installer + end + + def run(options) + if Bundler.settings[:frozen] + @definition.ensure_equivalent_gemfile_and_lockfile + end + + if dependencies.empty? + Bundler.ui.warn "The Gemfile specifies no dependencies" + return + end + + if Bundler.default_lockfile.exist? && !options["update"] + begin + tmpdef = Definition.build(Bundler.default_gemfile, Bundler.default_lockfile, nil) + local = true unless tmpdef.new_platform? || tmpdef.missing_specs.any? + rescue BundlerError + end + end + + # Since we are installing, we can resolve the definition + # using remote specs + unless local + options["local"] ? + @definition.resolve_with_cache! : + @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. + specs.each do |spec| + spec.source.fetch(spec) if spec.source.respond_to?(:fetch) + + # unless requested_specs.include?(spec) + # Bundler.ui.debug " * Not in requested group; skipping." + # next + # end + + begin + old_args = Gem::Command.build_args + Gem::Command.build_args = [Bundler.settings["build.#{spec.name}"]] + spec.source.install(spec) + ensure + Gem::Command.build_args = old_args + end + + Bundler.ui.info "" + generate_bundler_executable_stubs(spec) if Bundler.settings[:bin] + FileUtils.rm_rf(Bundler.tmp) + end + + lock + end + + private + + def generate_bundler_executable_stubs(spec) + bin_path = Bundler.bin_path + template = File.read(File.expand_path('../templates/Executable', __FILE__)) + relative_gemfile_path = Bundler.default_gemfile.relative_path_from(bin_path) + + spec.executables.each do |executable| + next if executable == "bundle" + File.open "#{bin_path}/#{executable}", 'w', 0755 do |f| + f.puts ERB.new(template, nil, '-').result(binding) + end + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lazy_specification.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lazy_specification.rb new file mode 100644 index 00000000..9db9b0ed --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lazy_specification.rb @@ -0,0 +1,71 @@ +require "uri" +require "rubygems/spec_fetcher" + +module Bundler + class LazySpecification + include MatchPlatform + + attr_reader :name, :version, :dependencies, :platform + attr_accessor :source + + def initialize(name, version, platform, source = nil) + @name = name + @version = version + @dependencies = [] + @platform = platform + @source = source + @specification = nil + end + + def full_name + if platform == Gem::Platform::RUBY or platform.nil? then + "#{@name}-#{@version}" + else + "#{@name}-#{@version}-#{platform}" + end + end + + def satisfies?(dependency) + @name == dependency.name && dependency.requirement.satisfied_by?(Gem::Version.new(@version)) + end + + def to_lock + if platform == Gem::Platform::RUBY or platform.nil? + out = " #{name} (#{version})\n" + else + out = " #{name} (#{version}-#{platform})\n" + end + + dependencies.sort_by {|d| d.name }.each do |dep| + next if dep.type == :development + out << " #{dep.to_lock}\n" + end + + out + end + + def __materialize__ + @specification = source.specs.search(Gem::Dependency.new(name, version)).last + end + + def respond_to?(*args) + super || @specification.respond_to?(*args) + end + + def to_s + "#{name} (#{version})" + end + + private + + def method_missing(method, *args, &blk) + if Gem::Specification.new.respond_to?(method) + raise "LazySpecification has not been materialized yet (calling :#{method} #{args.inspect})" unless @specification + @specification.send(method, *args, &blk) + else + super + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lockfile_parser.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lockfile_parser.rb new file mode 100644 index 00000000..10f8cbf2 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/lockfile_parser.rb @@ -0,0 +1,108 @@ +require "strscan" + +module Bundler + class LockfileParser + attr_reader :sources, :dependencies, :specs, :platforms + + def initialize(lockfile) + @platforms = [] + @sources = [] + @dependencies = [] + @specs = [] + @state = :source + + lockfile.split(/\n+/).each do |line| + if line == "DEPENDENCIES" + @state = :dependency + elsif line == "PLATFORMS" + @state = :platform + else + send("parse_#{@state}", line) + end + end + end + + private + + TYPES = { + "GIT" => Bundler::Source::Git, + "GEM" => Bundler::Source::Rubygems, + "PATH" => Bundler::Source::Path + } + + def parse_source(line) + case line + when "GIT", "GEM", "PATH" + @current_source = nil + @opts, @type = {}, line + when " specs:" + @current_source = TYPES[@type].from_lock(@opts) + @sources << @current_source + when /^ ([a-z]+): (.*)$/i + value = $2 + value = true if value == "true" + value = false if value == "false" + + key = $1 + + if @opts[key] + @opts[key] = Array(@opts[key]) + @opts[key] << value + else + @opts[key] = value + end + else + parse_spec(line) + end + end + + NAME_VERSION = '(?! )(.*?)(?: \(([^-]*)(?:-(.*))?\))?' + + def parse_dependency(line) + if line =~ %r{^ {2}#{NAME_VERSION}(!)?$} + name, version, pinned = $1, $2, $4 + version = version.split(",").map { |d| d.strip } if version + + dep = Bundler::Dependency.new(name, version) + + if pinned && dep.name != 'bundler' + spec = @specs.find { |s| s.name == dep.name } + dep.source = spec.source if spec + + # Path sources need to know what the default name / version + # to use in the case that there are no gemspecs present. A fake + # gemspec is created based on the version set on the dependency + # TODO: Use the version from the spec instead of from the dependency + if version && version.size == 1 && version.first =~ /^\s*= (.+)\s*$/ && dep.source.is_a?(Bundler::Source::Path) + dep.source.name = name + dep.source.version = $1 + end + end + + @dependencies << dep + end + end + + def parse_spec(line) + if line =~ %r{^ {4}#{NAME_VERSION}$} + name, version = $1, Gem::Version.new($2) + platform = $3 ? Gem::Platform.new($3) : Gem::Platform::RUBY + @current_spec = LazySpecification.new(name, version, platform) + @current_spec.source = @current_source + @specs << @current_spec + elsif line =~ %r{^ {6}#{NAME_VERSION}$} + name, version = $1, $2 + version = version.split(',').map { |d| d.strip } if version + dep = Gem::Dependency.new(name, version) + @current_spec.dependencies << dep + end + end + + def parse_platform(line) + if line =~ /^ (.*)$/ + @platforms << Gem::Platform.new($1) + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle new file mode 100644 index 00000000..1b719336 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle @@ -0,0 +1,96 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\fR \- Ruby Dependency Management +. +.SH "SYNOPSIS" +\fBbundle\fR [\-\-no\-color] COMMAND [ARGS] +. +.SH "DESCRIPTION" +Bundler manages an \fBapplication\'s dependencies\fR through its entire life across many machines systematically and repeatably\. +. +.P +See the bundler website \fIhttp://gembundler\.com\fR for information on getting started, and Gemfile(5) for more information on the \fBGemfile\fR format\. +. +.SH "OPTIONS" +. +.TP +\fB\-\-no\-color\fR +Prints all output without color +. +.SH "BUNDLE COMMANDS" +We divide \fBbundle\fR subcommands into primary commands and utilities\. +. +.SH "PRIMARY COMMANDS" +. +.TP +bundle install(1) \fIbundle\-install\.1\.html\fR +Install the gems specified by the \fBGemfile\fR or \fBGemfile\.lock\fR +. +.TP +bundle update(1) \fIbundle\-update\.1\.html\fR +Update dependencies to their latest versions +. +.TP +bundle package(1) \fIbundle\-package\.1\.html\fR +Package the \.gem files required by your application into the \fBvendor/cache\fR directory +. +.TP +bundle exec(1) \fIbundle\-exec\.1\.html\fR +Execute a script in the context of the current bundle +. +.TP +bundle config(1) \fIbundle\-config\.1\.html\fR +Specify and read configuration options for bundler +. +.SH "UTILITIES" +. +.TP +\fBbundle check(1)\fR +Determine whether the requirements for your application are installed and available to bundler +. +.TP +\fBbundle list(1)\fR +Show all of the gems in the current bundle +. +.TP +\fBbundle show(1)\fR +Show the source location of a particular gem in the bundle +. +.TP +\fBbundle console(1)\fR +Start an IRB session in the context of the current bundle +. +.TP +\fBbundle open(1)\fR +Open an installed gem in the editor +. +.TP +\fBbundle viz(1)\fR +Generate a visual representation of your dependencies +. +.TP +\fBbundle init(1)\fR +Generate a simple \fBGemfile\fR, placed in the current directory +. +.TP +\fBbundle gem(1)\fR +Create a simple gem, suitable for development with bundler +. +.SH "OBSOLETE" +These commands are obsolete and should no longer be used +. +.IP "\(bu" 4 +\fBbundle lock(1)\fR +. +.IP "\(bu" 4 +\fBbundle unlock(1)\fR +. +.IP "\(bu" 4 +\fBbundle cache(1)\fR +. +.IP "" 0 + diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config.txt new file mode 100644 index 00000000..a02dc256 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-config.txt @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec new file mode 100644 index 00000000..e498d93d --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec @@ -0,0 +1,107 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE\-EXEC" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\-exec\fR \- Execute a command in the context of the bundle +. +.SH "SYNOPSIS" +\fBbundle exec\fR \fIcommand\fR +. +.SH "DESCRIPTION" +This command executes the command, making all gems specified in the \fBGemfile(5)\fR available to \fBrequire\fR in Ruby programs\. +. +.P +Essentially, if you would normally have run something like \fBrspec spec/my_spec\.rb\fR, and you want to use the gems specified in the \fBGemfile(5)\fR and installed via bundle install(1) \fIbundle\-install\.1\.html\fR, you should run \fBbundle exec rspec spec/my_spec\.rb\fR\. +. +.P +Note that \fBbundle exec\fR does not require that an executable is available on your shell\'s \fB$PATH\fR\. +. +.SH "BUNDLE INSTALL \-\-BINSTUBS" +If you use the \fB\-\-binstubs\fR flag in bundle install(1) \fIbundle\-install\.1\.html\fR, Bundler will automatically create a directory (which defaults to \fBapp_root/bin\fR) containing all of the executables available from gems in the bundle\. +. +.P +After using \fB\-\-binstubs\fR, \fBbin/rspec spec/my_spec\.rb\fR is identical to \fBbundle exec rspec spec/my_spec\.rb\fR\. +. +.SH "ENVIRONMENT MODIFICATIONS" +\fBbundle exec\fR makes a number of changes to the shell environment, then executes the command you specify in full\. +. +.IP "\(bu" 4 +make sure that it\'s still possible to shell out to \fBbundle\fR from inside a command invoked by \fBbundle exec\fR (using \fB$BUNDLE_BIN_PATH\fR) +. +.IP "\(bu" 4 +put the directory containing executables (like \fBrails\fR, \fBrspec\fR, \fBrackup\fR) for your bundle on \fB$PATH\fR +. +.IP "\(bu" 4 +make sure that if bundler is invoked in the subshell, it uses the same \fBGemfile\fR (by setting \fBBUNDLE_GEMFILE\fR) +. +.IP "\(bu" 4 +add \fB\-rbundler/setup\fR to \fB$RUBYOPT\fR, which makes sure that Ruby programs invoked in the subshell can see the gems in the bundle +. +.IP "" 0 +. +.P +It also modifies Rubygems: +. +.IP "\(bu" 4 +disallow loading additional gems not in the bundle +. +.IP "\(bu" 4 +modify the \fBgem\fR method to be a no\-op if a gem matching the requirements is in the bundle, and to raise a \fBGem::LoadError\fR if it\'s not +. +.IP "\(bu" 4 +Define \fBGem\.refresh\fR to be a no\-op, since the source index is always frozen when using bundler, and to prevent gems from the system leaking into the environment +. +.IP "\(bu" 4 +Override \fBGem\.bin_path\fR to use the gems in the bundle, making system executables work +. +.IP "\(bu" 4 +Add all gems in the bundle into Gem\.loaded_specs +. +.IP "" 0 +. +.SH "RUBYGEMS PLUGINS" +At present, the Rubygems plugin system requires all files named \fBrubygems_plugin\.rb\fR on the load path of \fIany\fR installed gem when any Ruby code requires \fBrubygems\.rb\fR\. This includes executables installed into the system, like \fBrails\fR, \fBrackup\fR, and \fBrspec\fR\. +. +.P +Since Rubygems plugins can contain arbitrary Ruby code, they commonly end up activating themselves or their dependencies\. +. +.P +For instance, the \fBgemcutter 0\.5\fR gem depended on \fBjson_pure\fR\. If you had that version of gemcutter installed (even if you \fIalso\fR had a newer version without this problem), Rubygems would activate \fBgemcutter 0\.5\fR and \fBjson_pure \fR\. +. +.P +If your Gemfile(5) also contained \fBjson_pure\fR (or a gem with a dependency on \fBjson_pure\fR), the latest version on your system might conflict with the version in your Gemfile(5), or the snapshot version in your \fBGemfile\.lock\fR\. +. +.P +If this happens, bundler will say: +. +.IP "" 4 +. +.nf + +You have already activated json_pure 1\.4\.6 but your Gemfile +requires json_pure 1\.4\.3\. Consider using bundle exec\. +. +.fi +. +.IP "" 0 +. +.P +In this situation, you almost certainly want to remove the underlying gem with the problematic gem plugin\. In general, the authors of these plugins (in this case, the \fBgemcutter\fR gem) have released newer versions that are more careful in their plugins\. +. +.P +You can find a list of all the gems containing gem plugins by running +. +.IP "" 4 +. +.nf + +ruby \-rubygems \-e "puts Gem\.find_files(\'rubygems_plugin\.rb\')" +. +.fi +. +.IP "" 0 +. +.P +At the very least, you should remove all but the newest version of each gem plugin, and also remove all gem plugins that you aren\'t using (\fBgem uninstall gem_name\fR)\. diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec.txt new file mode 100644 index 00000000..b725015b --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-exec.txt @@ -0,0 +1,115 @@ +BUNDLE-EXEC(1) BUNDLE-EXEC(1) + + + +NAME + bundle-exec - Execute a command in the context of the bundle + +SYNOPSIS + bundle exec command + +DESCRIPTION + This command executes the command, making all gems specified in the + Gemfile(5) available to require in Ruby programs. + + Essentially, if you would normally have run something like rspec + spec/my_spec.rb, and you want to use the gems specified in the Gem- + file(5) and installed via bundle install(1) bundle-install.1.html, you + should run bundle exec rspec spec/my_spec.rb. + + Note that bundle exec does not require that an executable is available + on your shell's $PATH. + +BUNDLE INSTALL --BINSTUBS + If you use the --binstubs flag in bundle install(1) bun- + dle-install.1.html, Bundler will automatically create a directory + (which defaults to app_root/bin) containing all of the executables + available from gems in the bundle. + + After using --binstubs, bin/rspec spec/my_spec.rb is identical to bun- + dle exec rspec spec/my_spec.rb. + +ENVIRONMENT MODIFICATIONS + bundle exec makes a number of changes to the shell environment, then + executes the command you specify in full. + + o make sure that it's still possible to shell out to bundle from + inside a command invoked by bundle exec (using $BUNDLE_BIN_PATH) + + o put the directory containing executables (like rails, rspec, + rackup) for your bundle on $PATH + + o make sure that if bundler is invoked in the subshell, it uses the + same Gemfile (by setting BUNDLE_GEMFILE) + + o add -rbundler/setup to $RUBYOPT, which makes sure that Ruby pro- + grams invoked in the subshell can see the gems in the bundle + + + + It also modifies Rubygems: + + o disallow loading additional gems not in the bundle + + o modify the gem method to be a no-op if a gem matching the require- + ments is in the bundle, and to raise a Gem::LoadError if it's not + + o Define Gem.refresh to be a no-op, since the source index is always + frozen when using bundler, and to prevent gems from the system + leaking into the environment + + o Override Gem.bin_path to use the gems in the bundle, making system + executables work + + o Add all gems in the bundle into Gem.loaded_specs + + + +RUBYGEMS PLUGINS + At present, the Rubygems plugin system requires all files named + rubygems_plugin.rb on the load path of any installed gem when any Ruby + code requires rubygems.rb. This includes executables installed into the + system, like rails, rackup, and rspec. + + Since Rubygems plugins can contain arbitrary Ruby code, they commonly + end up activating themselves or their dependencies. + + For instance, the gemcutter 0.5 gem depended on json_pure. If you had + that version of gemcutter installed (even if you also had a newer ver- + sion without this problem), Rubygems would activate gemcutter 0.5 and + json_pure . + + If your Gemfile(5) also contained json_pure (or a gem with a dependency + on json_pure), the latest version on your system might conflict with + the version in your Gemfile(5), or the snapshot version in your Gem- + file.lock. + + If this happens, bundler will say: + + + + You have already activated json_pure 1.4.6 but your Gemfile + requires json_pure 1.4.3. Consider using bundle exec. + + + + In this situation, you almost certainly want to remove the underlying + gem with the problematic gem plugin. In general, the authors of these + plugins (in this case, the gemcutter gem) have released newer versions + that are more careful in their plugins. + + You can find a list of all the gems containing gem plugins by running + + + + ruby -rubygems -e "puts Gem.find_files('rubygems_plugin.rb')" + + + + At the very least, you should remove all but the newest version of each + gem plugin, and also remove all gem plugins that you aren't using (gem + uninstall gem_name). + + + + August 2010 BUNDLE-EXEC(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install new file mode 100644 index 00000000..7cfb0860 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install @@ -0,0 +1,280 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE\-INSTALL" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile +. +.SH "SYNOPSIS" +\fBbundle install\fR [\-\-local] [\-\-quiet] [\-\-gemfile=GEMFILE] [\-\-system] +. +.IP "" 4 +. +.nf + + [\-\-deployment] [\-\-frozen] [\-\-path] + [\-\-binstubs[=DIRECTORY]] [\-\-without=GROUP1[ GROUP2\.\.\.]] +. +.fi +. +.IP "" 0 +. +.SH "DESCRIPTION" +Install the gems specified in your Gemfile(5)\. If this is the first time you run bundle install (and a \fBGemfile\.lock\fR does not exist), bundler will fetch all remote sources, resolve dependencies and install all needed gems\. +. +.P +If a \fBGemfile\.lock\fR does exist, and you have not updated your Gemfile(5), bundler will fetch all remote sources, but use the dependencies specified in the \fBGemfile\.lock\fR instead of resolving dependencies\. +. +.P +If a \fBGemfile\.lock\fR does exist, and you have updated your Gemfile(5), bundler will use the dependencies in the \fBGemfile\.lock\fR for all gems that you did not update, but will re\-resolve the dependencies of gems that you did update\. You can find more information about this update process below under \fICONSERVATIVE UPDATING\fR\. +. +.SH "OPTIONS" +. +.TP +\fB\-\-gemfile=\fR +The location of the Gemfile(5) that bundler should use\. This defaults to a gemfile in the current working directory\. In general, bundler will assume that the location of the Gemfile(5) is also the project root, and will look for the \fBGemfile\.lock\fR and \fBvendor/cache\fR relative to it\. +. +.TP +\fB\-\-path=\fR +The location to install the gems in the bundle to\. This defaults to the gem home, which is the location that \fBgem install\fR installs gems to\. This means that, by default, gems installed without a \fB\-\-path\fR setting will show up in \fBgem list\fR\. This setting is a \fIremembered option\fR\. +. +.TP +\fB\-\-system\fR +Installs the gems in the bundle to the system location\. This overrides any previous \fIremembered\fR use of \fB\-\-path\fR\. +. +.TP +\fB\-\-without=\fR +A space\-separated list of groups to skip installing\. This is a \fIremembered option\fR\. +. +.TP +\fB\-\-local\fR +Do not attempt to connect to \fBrubygems\.org\fR, instead using just the gems located in \fBvendor/cache\fR\. Note that if a more appropriate platform\-specific gem exists on \fBrubygems\.org\fR, this will bypass the normal lookup\. +. +.TP +\fB\-\-deployment\fR +Switches bundler\'s defaults into \fIdeployment mode\fR\. +. +.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\. +. +.IP "1." 4 +A \fBGemfile\.lock\fR is required\. +. +.IP +To ensure that the same versions of the gems you developed with and tested with are also used in deployments, a \fBGemfile\.lock\fR is required\. +. +.IP +This is mainly to ensure that you remember to check your \fBGemfile\.lock\fR into version control\. +. +.IP "2." 4 +The \fBGemfile\.lock\fR must be up to date +. +.IP +In development, you can modify your Gemfile(5) and re\-run \fBbundle install\fR to \fIconservatively update\fR your \fBGemfile\.lock\fR snapshot\. +. +.IP +In deployment, your \fBGemfile\.lock\fR should be up\-to\-date with changes made in your Gemfile(5)\. +. +.IP "3." 4 +Gems are installed to \fBvendor/bundle\fR not your default system location +. +.IP +In development, it\'s convenient to share the gems used in your application with other applications and other scripts run on the system\. +. +.IP +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 permission to read them\. +. +.IP +As a result, \fBbundle install \-\-deployment\fR installs gems to the \fBvendor/bundle\fR directory in the application\. This may be overridden using the \fB\-\-path\fR option\. +. +.IP "" 0 +. +.SH "SUDO USAGE" +By default, bundler installs gems to the same location as \fBgem install\fR\. +. +.P +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 \fBsudo\fR password in order to copy the gems into their system location\. +. +.P +From your perspective, this is identical to installing them gems directly into the system\. +. +.P +You should never use \fBsudo bundle install\fR\. This is because several other steps in \fBbundle install\fR must be performed as the current user: +. +.IP "\(bu" 4 +Updating your \fBGemfile\.lock\fR +. +.IP "\(bu" 4 +Updating your \fBvendor/cache\fR, if necessary +. +.IP "\(bu" 4 +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\. +. +.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\. +. +.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\. +. +.P +However, you can explicitly tell bundler to skip installing certain groups with the \fB\-\-without\fR option\. This option takes a space\-separated list of groups\. +. +.P +While the \fB\-\-without\fR option will skip \fIinstalling\fR the gems in the specified groups, it will still \fIdownload\fR those gems and use them to resolve the dependencies of every gem in your Gemfile(5)\. +. +.P +This is so that installing a different set of groups on another machine (such as a production server) will not change the gems and versions that you have already developed and tested against\. +. +.P +\fBBundler offers a rock\-solid guarantee that the third\-party code you are running in development and testing is also the third\-party code you are running in production\. You can choose to exclude some of that code in different environments, but you will never be caught flat\-footed by different versions of third\-party code being used in different environments\.\fR +. +.P +For a simple illustration, consider the following Gemfile(5): +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "sinatra" + +group :production do + gem "rack\-perftools\-profiler" +end +. +.fi +. +.IP "" 0 +. +.P +In this case, \fBsinatra\fR depends on any version of Rack (\fB>= 1\.0\fR, while \fBrack\-perftools\-profiler\fR depends on 1\.x (\fB~> 1\.0\fR)\. +. +.P +When you run \fBbundle install \-\-without production\fR in development, we look at the dependencies of \fBrack\-perftools\-profiler\fR as well\. That way, you do not spend all your time developing against Rack 2\.0, using new APIs unavailable in Rack 1\.x, only to have bundler switch to Rack 1\.2 when the \fBproduction\fR group \fIis\fR used\. +. +.P +This should not cause any problems in practice, because we do not attempt to \fBinstall\fR the gems in the excluded groups, and only evaluate as part of the dependency resolution process\. +. +.P +This also means that you cannot include different versions of the same gem in different groups, because doing so would result in different sets of dependencies used in development and production\. Because of the vagaries of the dependency resolution process, this usually affects more than just the gems you list in your Gemfile(5), and can (surprisingly) radically change the gems you are using\. +. +.SH "REMEMBERED OPTIONS" +Some options (marked above in the \fIOPTIONS\fR section) are remembered between calls to \fBbundle install\fR, and by the Bundler runtime\. +. +.P +For instance, if you run \fBbundle install \-\-without test\fR, a subsequent call to \fBbundle install\fR that does not include a \fB\-\-without\fR flag will remember your previous choice\. +. +.P +In addition, a call to \fBBundler\.setup\fR will not attempt to make the gems in those groups available on the Ruby load path, as they were not installed\. +. +.P +The settings that are remembered are: +. +.TP +\fB\-\-deployment\fR +At runtime, this remembered setting will also result in Bundler raising an exception if the \fBGemfile\.lock\fR is out of date\. +. +.TP +\fB\-\-path\fR +Subsequent calls to \fBbundle install\fR will install gems to the directory originally passed to \fB\-\-path\fR\. The Bundler runtime will look for gems in that location\. You can revert this option by running \fBbundle install \-\-system\fR\. +. +.TP +\fB\-\-binstubs\fR +Bundler will update the executables every subsequent call to \fBbundle install\fR\. +. +.TP +\fB\-\-without\fR +As described above, Bundler will skip the gems specified by \fB\-\-without\fR in subsequent calls to \fBbundle install\fR\. The Bundler runtime will also not try to make the gems in the skipped groups available\. +. +.SH "THE GEMFILE\.LOCK" +When you run \fBbundle install\fR, Bundler will persist the full names and versions of all gems that you used (including dependencies of the gems specified in the Gemfile(5)) into a file called \fBGemfile\.lock\fR\. +. +.P +Bundler uses this file in all subsequent calls to \fBbundle install\fR, which guarantees that you always use the same exact code, even as your application moves across machines\. +. +.P +Because of the way dependency resolution works, even a seemingly small change (for instance, an update to a point\-release of a dependency of a gem in your Gemfile(5)) can result in radically different gems being needed to satisfy all dependencies\. +. +.P +As a result, you \fBSHOULD\fR check your \fBGemfile\.lock\fR into version control\. If you do not, every machine that checks out your repository (including your production server) will resolve all dependencies again, which will result in different versions of third\-party code being used if \fBany\fR of the gems in the Gemfile(5) or any of their dependencies have been updated\. +. +.SH "CONSERVATIVE UPDATING" +When you make a change to the Gemfile(5) and then run \fBbundle install\fR, Bundler will update only the gems that you modified\. +. +.P +In other words, if a gem that you \fBdid not modify\fR worked before you called \fBbundle install\fR, it will continue to use the exact same versions of all dependencies as it used before the update\. +. +.P +Let\'s take a look at an example\. Here\'s your original Gemfile(5): +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "actionpack", "2\.3\.8" +gem "activemerchant" +. +.fi +. +.IP "" 0 +. +.P +In this case, both \fBactionpack\fR and \fBactivemerchant\fR depend on \fBactivesupport\fR\. The \fBactionpack\fR gem depends on \fBactivesupport 2\.3\.8\fR and \fBrack ~> 1\.1\.0\fR, while the \fBactivemerchant\fR gem depends on \fBactivesupport >= 2\.3\.2\fR, \fBbraintree >= 2\.0\.0\fR, and \fBbuilder >= 2\.0\.0\fR\. +. +.P +When the dependencies are first resolved, Bundler will select \fBactivesupport 2\.3\.8\fR, which satisfies the requirements of both gems in your Gemfile(5)\. +. +.P +Next, you modify your Gemfile(5) to: +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "actionpack", "3\.0\.0\.rc" +gem "activemerchant" +. +.fi +. +.IP "" 0 +. +.P +The \fBactionpack 3\.0\.0\.rc\fR gem has a number of new dependencies, and updates the \fBactivesupport\fR dependency to \fB= 3\.0\.0\.rc\fR and the \fBrack\fR dependency to \fB~> 1\.2\.1\fR\. +. +.P +When you run \fBbundle install\fR, Bundler notices that you changed the \fBactionpack\fR gem, but not the \fBactivemerchant\fR gem\. It evaluates the gems currently being used to satisfy its requirements: +. +.TP +\fBactivesupport 2\.3\.8\fR +also used to satisfy a dependency in \fBactivemerchant\fR, which is not being updated +. +.TP +\fBrack ~> 1\.1\.0\fR +not currently being used to satify another dependency +. +.P +Because you did not explicitly ask to update \fBactivemerchant\fR, you would not expect it to suddenly stop working after updating \fBactionpack\fR\. However, satisfying the new \fBactivesupport 3\.0\.0\.rc\fR dependency of actionpack requires updating one of its dependencies\. +. +.P +Even though \fBactivemerchant\fR declares a very loose dependency that theoretically matches \fBactivesupport 3\.0\.0\.rc\fR, bundler treats gems in your Gemfile(5) that have not changed as an atomic unit together with their dependencies\. In this case, the \fBactivemerchant\fR dependency is treated as \fBactivemerchant 1\.7\.1 + activesupport 2\.3\.8\fR, so \fBbundle install\fR will report that it cannot update \fBactionpack\fR\. +. +.P +To explicitly update \fBactionpack\fR, including its dependencies which other gems in the Gemfile(5) still depend on, run \fBbundle update actionpack\fR (see \fBbundle update(1)\fR)\. +. +.P +\fBSummary\fR: In general, after making a change to the Gemfile(5) , you should first try to run \fBbundle install\fR, which will guarantee that no other gems in the Gemfile(5) are impacted by the change\. If that does not work, run bundle update(1) \fIbundle\-update\.1\.html\fR\. diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install.txt new file mode 100644 index 00000000..0f22e268 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-install.txt @@ -0,0 +1,331 @@ +BUNDLE-INSTALL(1) BUNDLE-INSTALL(1) + + + +NAME + bundle-install - Install the dependencies specified in your Gemfile + +SYNOPSIS + bundle install [--local] [--quiet] [--gemfile=GEMFILE] [--system] + + + + [--deployment] [--frozen] [--path] + [--binstubs[=DIRECTORY]] [--without=GROUP1[ GROUP2...]] + + + +DESCRIPTION + Install the gems specified in your Gemfile(5). If this is the first + time you run bundle install (and a Gemfile.lock does not exist), + bundler will fetch all remote sources, resolve dependencies and install + all needed gems. + + If a Gemfile.lock does exist, and you have not updated your Gemfile(5), + bundler will fetch all remote sources, but use the dependencies speci- + fied in the Gemfile.lock instead of resolving dependencies. + + If a Gemfile.lock does exist, and you have updated your Gemfile(5), + bundler will use the dependencies in the Gemfile.lock for all gems that + you did not update, but will re-resolve the dependencies of gems that + you did update. You can find more information about this update process + below under CONSERVATIVE UPDATING. + +OPTIONS + --gemfile= + The location of the Gemfile(5) that bundler should use. This + defaults to a gemfile in the current working directory. In gen- + eral, bundler will assume that the location of the Gemfile(5) is + also the project root, and will look for the Gemfile.lock and + vendor/cache relative to it. + + --path= + The location to install the gems in the bundle to. This defaults + to the gem home, which is the location that gem install installs + gems to. This means that, by default, gems installed without a + --path setting will show up in gem list. This setting is a + remembered option. + + --system + Installs the gems in the bundle to the system location. This + overrides any previous remembered use of --path. + + --without= + A space-separated list of groups to skip installing. This is a + remembered option. + + --local + Do not attempt to connect to rubygems.org, instead using just + the gems located in vendor/cache. Note that if a more appropri- + ate platform-specific gem exists on rubygems.org, this will + bypass the normal lookup. + + --deployment + Switches bundler's defaults into deployment mode. + + --binstubs[=] + 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 + 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. + + 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 + required. + + 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 + install to conservatively update your Gemfile.lock snapshot. + + 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- + tion + + 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- + 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 + using the --path option. + + + +SUDO USAGE + 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 + 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 + system location. + + 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 + steps in bundle install must be performed as the current user: + + o Updating your Gemfile.lock + + o Updating your vendor/cache, if necessary + + o Checking out private git repositories using your user's SSH keys + + + + 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. + + 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. + +INSTALLING GROUPS + By default, bundle install will install all gems in all groups in your + Gemfile(5), except those declared for a different platform. + + However, you can explicitly tell bundler to skip installing certain + groups with the --without option. This option takes a space-separated + list of groups. + + While the --without option will skip installing the gems in the speci- + fied groups, it will still download those gems and use them to resolve + the dependencies of every gem in your Gemfile(5). + + This is so that installing a different set of groups on another machine + (such as a production server) will not change the gems and versions + that you have already developed and tested against. + + Bundler offers a rock-solid guarantee that the third-party code you are + running in development and testing is also the third-party code you are + running in production. You can choose to exclude some of that code in + different environments, but you will never be caught flat-footed by + different versions of third-party code being used in different environ- + ments. + + For a simple illustration, consider the following Gemfile(5): + + + + source "http://rubygems.org" + + gem "sinatra" + + group :production do + gem "rack-perftools-profiler" + end + + + + In this case, sinatra depends on any version of Rack (>= 1.0, while + rack-perftools-profiler depends on 1.x (~> 1.0). + + When you run bundle install --without production in development, we + look at the dependencies of rack-perftools-profiler as well. That way, + you do not spend all your time developing against Rack 2.0, using new + APIs unavailable in Rack 1.x, only to have bundler switch to Rack 1.2 + when the production group is used. + + This should not cause any problems in practice, because we do not + attempt to install the gems in the excluded groups, and only evaluate + as part of the dependency resolution process. + + This also means that you cannot include different versions of the same + gem in different groups, because doing so would result in different + sets of dependencies used in development and production. Because of the + vagaries of the dependency resolution process, this usually affects + more than just the gems you list in your Gemfile(5), and can (surpris- + ingly) radically change the gems you are using. + +REMEMBERED OPTIONS + Some options (marked above in the OPTIONS section) are remembered + between calls to bundle install, and by the Bundler runtime. + + For instance, if you run bundle install --without test, a subsequent + call to bundle install that does not include a --without flag will + remember your previous choice. + + In addition, a call to Bundler.setup will not attempt to make the gems + in those groups available on the Ruby load path, as they were not + installed. + + The settings that are remembered are: + + --deployment + At runtime, this remembered setting will also result in Bundler + raising an exception if the Gemfile.lock is out of date. + + --path Subsequent calls to bundle install will install gems to the + directory originally passed to --path. The Bundler runtime will + look for gems in that location. You can revert this option by + running bundle install --system. + + --binstubs + Bundler will update the executables every subsequent call to + bundle install. + + --without + As described above, Bundler will skip the gems specified by + --without in subsequent calls to bundle install. The Bundler + runtime will also not try to make the gems in the skipped groups + available. + +THE GEMFILE.LOCK + When you run bundle install, Bundler will persist the full names and + versions of all gems that you used (including dependencies of the gems + specified in the Gemfile(5)) into a file called Gemfile.lock. + + Bundler uses this file in all subsequent calls to bundle install, which + guarantees that you always use the same exact code, even as your appli- + cation moves across machines. + + Because of the way dependency resolution works, even a seemingly small + change (for instance, an update to a point-release of a dependency of a + gem in your Gemfile(5)) can result in radically different gems being + needed to satisfy all dependencies. + + As a result, you SHOULD check your Gemfile.lock into version control. + If you do not, every machine that checks out your repository (including + your production server) will resolve all dependencies again, which will + result in different versions of third-party code being used if any of + the gems in the Gemfile(5) or any of their dependencies have been + updated. + +CONSERVATIVE UPDATING + When you make a change to the Gemfile(5) and then run bundle install, + Bundler will update only the gems that you modified. + + In other words, if a gem that you did not modify worked before you + called bundle install, it will continue to use the exact same versions + of all dependencies as it used before the update. + + Let's take a look at an example. Here's your original Gemfile(5): + + + + source "http://rubygems.org" + + gem "actionpack", "2.3.8" + gem "activemerchant" + + + + In this case, both actionpack and activemerchant depend on activesup- + port. The actionpack gem depends on activesupport 2.3.8 and rack ~> + 1.1.0, while the activemerchant gem depends on activesupport >= 2.3.2, + braintree >= 2.0.0, and builder >= 2.0.0. + + When the dependencies are first resolved, Bundler will select + activesupport 2.3.8, which satisfies the requirements of both gems in + your Gemfile(5). + + Next, you modify your Gemfile(5) to: + + + + source "http://rubygems.org" + + gem "actionpack", "3.0.0.rc" + gem "activemerchant" + + + + The actionpack 3.0.0.rc gem has a number of new dependencies, and + updates the activesupport dependency to = 3.0.0.rc and the rack depen- + dency to ~> 1.2.1. + + When you run bundle install, Bundler notices that you changed the + actionpack gem, but not the activemerchant gem. It evaluates the gems + currently being used to satisfy its requirements: + + activesupport 2.3.8 + also used to satisfy a dependency in activemerchant, which is + not being updated + + rack ~> 1.1.0 + not currently being used to satify another dependency + + Because you did not explicitly ask to update activemerchant, you would + not expect it to suddenly stop working after updating actionpack. How- + ever, satisfying the new activesupport 3.0.0.rc dependency of action- + pack requires updating one of its dependencies. + + Even though activemerchant declares a very loose dependency that theo- + retically matches activesupport 3.0.0.rc, bundler treats gems in your + Gemfile(5) that have not changed as an atomic unit together with their + dependencies. In this case, the activemerchant dependency is treated as + activemerchant 1.7.1 + activesupport 2.3.8, so bundle install will + report that it cannot update actionpack. + + To explicitly update actionpack, including its dependencies which other + gems in the Gemfile(5) still depend on, run bundle update actionpack + (see bundle update(1)). + + Summary: In general, after making a change to the Gemfile(5) , you + should first try to run bundle install, which will guarantee that no + other gems in the Gemfile(5) are impacted by the change. If that does + not work, run bundle update(1) bundle-update.1.html. + + + + August 2010 BUNDLE-INSTALL(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package new file mode 100644 index 00000000..f102505f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package @@ -0,0 +1,49 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE\-PACKAGE" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\-package\fR \- Package your needed \fB\.gem\fR files into your application +. +.SH "SYNOPSIS" +\fBbundle package\fR +. +.SH "DESCRIPTION" +Copy all of the \fB\.gem\fR files needed to run the application into the \fBvendor/cache\fR directory\. In the future, when running bundle install(1) \fIbundle\-install\.1\.html\fR, use the gems in the cache in preference to the ones on \fBrubygems\.org\fR\. +. +.SH "GIT AND PATH GEMS" +In Bundler 1\.0, the \fBbundle package\fR command only packages \fB\.gem\fR files, not gems specified using the \fB:git\fR or \fB:path\fR options\. This will likely change in the future\. +. +.SH "REMOTE FETCHING" +By default, if you simply run bundle install(1) \fIbundle\-install\.1\.html\fR after running bundle package(1) \fIbundle\-package\.1\.html\fR, bundler will still connect to \fBrubygems\.org\fR to check whether a platform\-specific gem exists for any of the gems in \fBvendor/cache\fR\. +. +.P +For instance, consider this Gemfile(5): +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "nokogiri" +. +.fi +. +.IP "" 0 +. +.P +If you run \fBbundle package\fR under C Ruby, bundler will retrieve the version of \fBnokogiri\fR for the \fB"ruby"\fR platform\. If you deploy to JRuby and run \fBbundle install\fR, bundler is forced to check to see whether a \fB"java"\fR platformed \fBnokogiri\fR exists\. +. +.P +Even though the \fBnokogiri\fR gem for the Ruby platform is \fItechnically\fR acceptable on JRuby, it actually has a C extension that does not run on JRuby\. As a result, bundler will, by default, still connect to \fBrubygems\.org\fR to check whether it has a version of one of your gems more specific to your platform\. +. +.P +This problem is also not just limited to the \fB"java"\fR platform\. A similar (common) problem can happen when developing on Windows and deploying to Linux, or even when developing on OSX and deploying to Linux\. +. +.P +If you know for sure that the gems packaged in \fBvendor/cache\fR are appropriate for the platform you are on, you can run \fBbundle install \-\-local\fR to skip checking for more appropriate gems, and just use the ones in \fBvendor/cache\fR\. +. +.P +One way to be sure that you have the right platformed versions of all your gems is to run \fBbundle package\fR on an identical machine and check in the gems\. For instance, you can run \fBbundle package\fR on an identical staging box during your staging process, and check in the \fBvendor/cache\fR before deploying to production\. diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package.txt new file mode 100644 index 00000000..0ce28cb8 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-package.txt @@ -0,0 +1,66 @@ +BUNDLE-PACKAGE(1) BUNDLE-PACKAGE(1) + + + +NAME + bundle-package - Package your needed .gem files into your application + +SYNOPSIS + bundle package + +DESCRIPTION + Copy all of the .gem files needed to run the application into the ven- + dor/cache directory. In the future, when running bundle install(1) bun- + dle-install.1.html, use the gems in the cache in preference to the ones + on rubygems.org. + +GIT AND PATH GEMS + In Bundler 1.0, the bundle package command only packages .gem files, + not gems specified using the :git or :path options. This will likely + change in the future. + +REMOTE FETCHING + By default, if you simply run bundle install(1) bundle-install.1.html + after running bundle package(1) bundle-package.1.html, bundler will + still connect to rubygems.org to check whether a platform-specific gem + exists for any of the gems in vendor/cache. + + For instance, consider this Gemfile(5): + + + + source "http://rubygems.org" + + gem "nokogiri" + + + + If you run bundle package under C Ruby, bundler will retrieve the ver- + sion of nokogiri for the "ruby" platform. If you deploy to JRuby and + run bundle install, bundler is forced to check to see whether a "java" + platformed nokogiri exists. + + Even though the nokogiri gem for the Ruby platform is technically + acceptable on JRuby, it actually has a C extension that does not run on + JRuby. As a result, bundler will, by default, still connect to + rubygems.org to check whether it has a version of one of your gems more + specific to your platform. + + This problem is also not just limited to the "java" platform. A similar + (common) problem can happen when developing on Windows and deploying to + Linux, or even when developing on OSX and deploying to Linux. + + If you know for sure that the gems packaged in vendor/cache are appro- + priate for the platform you are on, you can run bundle install --local + to skip checking for more appropriate gems, and just use the ones in + vendor/cache. + + One way to be sure that you have the right platformed versions of all + your gems is to run bundle package on an identical machine and check in + the gems. For instance, you can run bundle package on an identical + staging box during your staging process, and check in the vendor/cache + before deploying to production. + + + + August 2010 BUNDLE-PACKAGE(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update new file mode 100644 index 00000000..78e4b48b --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update @@ -0,0 +1,202 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "BUNDLE\-UPDATE" "1" "August 2010" "" "" +. +.SH "NAME" +\fBbundle\-update\fR \- Update your gems to the latest available versions +. +.SH "SYNOPSIS" +\fBbundle update\fR \fI*gems\fR [\-\-source=NAME] +. +.SH "DESCRIPTION" +Update the gems specified (all gems, if none are specified), ignoring the previously installed gems specified in the \fBGemfile\.lock\fR\. In general, you should use bundle install(1) \fIbundle\-install\.1\.html\fR to install the same exact gems and versions across machines\. +. +.P +You would use \fBbundle update\fR to explicitly update the version of a gem\. +. +.SH "OPTIONS" +. +.TP +\fB\-\-source=\fR +The name of a \fB:git\fR or \fB:path\fR source used in the Gemfile(5)\. For instance, with a \fB:git\fR source of \fBhttp://github\.com/rails/rails\.git\fR, you would call \fBbundle update \-\-source rails\fR +. +.SH "UPDATING ALL GEMS" +If you run \fBbundle update\fR with no parameters, bundler will ignore any previously installed gems and resolve all dependencies again based on the latest versions of all gems available in the sources\. +. +.P +Consider the following Gemfile(5): +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "rails", "3\.0\.0\.rc" +gem "nokogiri" +. +.fi +. +.IP "" 0 +. +.P +When you run bundle install(1) \fIbundle\-install\.1\.html\fR the first time, bundler will resolve all of the dependencies, all the way down, and install what you need: +. +.IP "" 4 +. +.nf + +Fetching source index for http://rubygems\.org/ +Installing rake (0\.8\.7) +Installing abstract (1\.0\.0) +Installing activesupport (3\.0\.0\.rc) +Installing builder (2\.1\.2) +Installing i18n (0\.4\.1) +Installing activemodel (3\.0\.0\.rc) +Installing erubis (2\.6\.6) +Installing rack (1\.2\.1) +Installing rack\-mount (0\.6\.9) +Installing rack\-test (0\.5\.4) +Installing tzinfo (0\.3\.22) +Installing actionpack (3\.0\.0\.rc) +Installing mime\-types (1\.16) +Installing polyglot (0\.3\.1) +Installing treetop (1\.4\.8) +Installing mail (2\.2\.5) +Installing actionmailer (3\.0\.0\.rc) +Installing arel (0\.4\.0) +Installing activerecord (3\.0\.0\.rc) +Installing activeresource (3\.0\.0\.rc) +Installing bundler (1\.0\.0\.rc\.3) +Installing nokogiri (1\.4\.3\.1) with native extensions +Installing thor (0\.14\.0) +Installing railties (3\.0\.0\.rc) +Installing rails (3\.0\.0\.rc) + +Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed\. +. +.fi +. +.IP "" 0 +. +.P +As you can see, even though you have just two gems in the Gemfile(5), your application actually needs 25 different gems in order to run\. Bundler remembers the exact versions it installed in \fBGemfile\.lock\fR\. The next time you run bundle install(1) \fIbundle\-install\.1\.html\fR, bundler skips the dependency resolution and installs the same gems as it installed last time\. +. +.P +After checking in the \fBGemfile\.lock\fR into version control and cloning it on another machine, running bundle install(1) \fIbundle\-install\.1\.html\fR will \fIstill\fR install the gems that you installed last time\. You don\'t need to worry that a new release of \fBerubis\fR or \fBmail\fR changes the gems you use\. +. +.P +However, from time to time, you might want to update the gems you are using to the newest versions that still match the gems in your Gemfile(5)\. +. +.P +To do this, run \fBbundle update\fR, which will ignore the \fBGemfile\.lock\fR, and resolve all the dependencies again\. Keep in mind that this process can result in a significantly different set of the 25 gems, based on the requirements of new gems that the gem authors released since the last time you ran \fBbundle update\fR\. +. +.SH "UPDATING A LIST OF GEMS" +Sometimes, you want to update a single gem in the Gemfile(5), and leave the rest of the gems that you specified locked to the versions in the \fBGemfile\.lock\fR\. +. +.P +For instance, in the scenario above, imagine that \fBnokogiri\fR releases version \fB1\.4\.4\fR, and you want to update it \fIwithout\fR updating Rails and all of its dependencies\. To do this, run \fBbundle update nokogiri\fR\. +. +.P +Bundler will update \fBnokogiri\fR and any of its dependencies, but leave alone Rails and its dependencies\. +. +.SH "OVERLAPPING DEPENDENCIES" +Sometimes, multiple gems declared in your Gemfile(5) are satisfied by the same second\-level dependency\. For instance, consider the case of \fBthin\fR and \fBrack\-perftools\-profiler\fR\. +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" + +gem "thin" +gem "rack\-perftools\-profiler" +. +.fi +. +.IP "" 0 +. +.P +The \fBthin\fR gem depends on \fBrack >= 1\.0\fR, while \fBrack\-perftools\-profiler\fR depends on \fBrack ~> 1\.0\fR\. If you run bundle install, you get: +. +.IP "" 4 +. +.nf + +Fetching source index for http://rubygems\.org/ +Installing daemons (1\.1\.0) +Installing eventmachine (0\.12\.10) with native extensions +Installing open4 (1\.0\.1) +Installing perftools\.rb (0\.4\.7) with native extensions +Installing rack (1\.2\.1) +Installing rack\-perftools_profiler (0\.0\.2) +Installing thin (1\.2\.7) with native extensions +Using bundler (1\.0\.0\.rc\.3) +. +.fi +. +.IP "" 0 +. +.P +In this case, the two gems have their own set of dependencies, but they share \fBrack\fR in common\. If you run \fBbundle update thin\fR, bundler will update \fBdaemons\fR, \fBeventmachine\fR and \fBrack\fR, which are dependencies of \fBthin\fR, but not \fBopen4\fR or \fBperftools\.rb\fR, which are dependencies of \fBrack\-perftools_profiler\fR\. Note that \fBbundle update thin\fR will update \fBrack\fR even though it\'s \fIalso\fR a dependency of \fBrack\-perftools_profiler\fR\. +. +.P +\fBIn short\fR, when you update a gem using \fBbundle update\fR, bundler will update all dependencies of that gem, including those that are also dependencies of another gem\. +. +.P +In this scenario, updating the \fBthin\fR version manually in the Gemfile(5), and then running bundle install(1) \fIbundle\-install\.1\.html\fR will only update \fBdaemons\fR and \fBeventmachine\fR, but not \fBrack\fR\. For more information, see the \fBCONSERVATIVE UPDATING\fR section of bundle install(1) \fIbundle\-install\.1\.html\fR\. +. +.SH "RECOMMENDED WORKFLOW" +In general, when working with an application managed with bundler, you should use the following workflow: +. +.IP "\(bu" 4 +After you create your Gemfile(5) for the first time, run +. +.IP +$ bundle install +. +.IP "\(bu" 4 +Check the resulting \fBGemfile\.lock\fR into version control +. +.IP +$ git add Gemfile\.lock +. +.IP "\(bu" 4 +When checking out this repository on another development machine, run +. +.IP +$ bundle install +. +.IP "\(bu" 4 +When checking out this repository on a deployment machine, run +. +.IP +$ bundle install \-\-deployment +. +.IP "\(bu" 4 +After changing the Gemfile(5) to reflect a new or update dependency, run +. +.IP +$ bundle install +. +.IP "\(bu" 4 +Make sure to check the updated \fBGemfile\.lock\fR into version control +. +.IP +$ git add Gemfile\.lock +. +.IP "\(bu" 4 +If bundle install(1) \fIbundle\-install\.1\.html\fR reports a conflict, manually update the specific gems that you changed in the Gemfile(5) +. +.IP +$ bundle update rails thin +. +.IP "\(bu" 4 +If you want to update all the gems to the latest possible versions that still match the gems listed in the Gemfile(5), run +. +.IP +$ bundle update +. +.IP "" 0 + diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update.txt new file mode 100644 index 00000000..91446cf2 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle-update.txt @@ -0,0 +1,207 @@ +BUNDLE-UPDATE(1) BUNDLE-UPDATE(1) + + + +NAME + bundle-update - Update your gems to the latest available versions + +SYNOPSIS + bundle update *gems [--source=NAME] + +DESCRIPTION + Update the gems specified (all gems, if none are specified), ignoring + the previously installed gems specified in the Gemfile.lock. In gen- + eral, you should use bundle install(1) bundle-install.1.html to install + the same exact gems and versions across machines. + + You would use bundle update to explicitly update the version of a gem. + +OPTIONS + --source= + The name of a :git or :path source used in the Gemfile(5). For + instance, with a :git source of + http://github.com/rails/rails.git, you would call bundle update + --source rails + +UPDATING ALL GEMS + If you run bundle update with no parameters, bundler will ignore any + previously installed gems and resolve all dependencies again based on + the latest versions of all gems available in the sources. + + Consider the following Gemfile(5): + + + + source "http://rubygems.org" + + gem "rails", "3.0.0.rc" + gem "nokogiri" + + + + When you run bundle install(1) bundle-install.1.html the first time, + bundler will resolve all of the dependencies, all the way down, and + install what you need: + + + + Fetching source index for http://rubygems.org/ + Installing rake (0.8.7) + Installing abstract (1.0.0) + Installing activesupport (3.0.0.rc) + Installing builder (2.1.2) + Installing i18n (0.4.1) + Installing activemodel (3.0.0.rc) + Installing erubis (2.6.6) + Installing rack (1.2.1) + Installing rack-mount (0.6.9) + Installing rack-test (0.5.4) + Installing tzinfo (0.3.22) + Installing actionpack (3.0.0.rc) + Installing mime-types (1.16) + Installing polyglot (0.3.1) + Installing treetop (1.4.8) + Installing mail (2.2.5) + Installing actionmailer (3.0.0.rc) + Installing arel (0.4.0) + Installing activerecord (3.0.0.rc) + Installing activeresource (3.0.0.rc) + Installing bundler (1.0.0.rc.3) + Installing nokogiri (1.4.3.1) with native extensions + Installing thor (0.14.0) + Installing railties (3.0.0.rc) + Installing rails (3.0.0.rc) + + Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. + + + + As you can see, even though you have just two gems in the Gemfile(5), + your application actually needs 25 different gems in order to run. + Bundler remembers the exact versions it installed in Gemfile.lock. The + next time you run bundle install(1) bundle-install.1.html, bundler + skips the dependency resolution and installs the same gems as it + installed last time. + + After checking in the Gemfile.lock into version control and cloning it + on another machine, running bundle install(1) bundle-install.1.html + will still install the gems that you installed last time. You don't + need to worry that a new release of erubis or mail changes the gems you + use. + + However, from time to time, you might want to update the gems you are + using to the newest versions that still match the gems in your Gem- + file(5). + + To do this, run bundle update, which will ignore the Gemfile.lock, and + resolve all the dependencies again. Keep in mind that this process can + result in a significantly different set of the 25 gems, based on the + requirements of new gems that the gem authors released since the last + time you ran bundle update. + +UPDATING A LIST OF GEMS + Sometimes, you want to update a single gem in the Gemfile(5), and leave + the rest of the gems that you specified locked to the versions in the + Gemfile.lock. + + For instance, in the scenario above, imagine that nokogiri releases + version 1.4.4, and you want to update it without updating Rails and all + of its dependencies. To do this, run bundle update nokogiri. + + Bundler will update nokogiri and any of its dependencies, but leave + alone Rails and its dependencies. + +OVERLAPPING DEPENDENCIES + Sometimes, multiple gems declared in your Gemfile(5) are satisfied by + the same second-level dependency. For instance, consider the case of + thin and rack-perftools-profiler. + + + + source "http://rubygems.org" + + gem "thin" + gem "rack-perftools-profiler" + + + + The thin gem depends on rack >= 1.0, while rack-perftools-profiler + depends on rack ~> 1.0. If you run bundle install, you get: + + + + Fetching source index for http://rubygems.org/ + Installing daemons (1.1.0) + Installing eventmachine (0.12.10) with native extensions + Installing open4 (1.0.1) + Installing perftools.rb (0.4.7) with native extensions + Installing rack (1.2.1) + Installing rack-perftools_profiler (0.0.2) + Installing thin (1.2.7) with native extensions + Using bundler (1.0.0.rc.3) + + + + In this case, the two gems have their own set of dependencies, but they + share rack in common. If you run bundle update thin, bundler will + update daemons, eventmachine and rack, which are dependencies of thin, + but not open4 or perftools.rb, which are dependencies of + rack-perftools_profiler. Note that bundle update thin will update rack + even though it's also a dependency of rack-perftools_profiler. + + In short, when you update a gem using bundle update, bundler will + update all dependencies of that gem, including those that are also + dependencies of another gem. + + In this scenario, updating the thin version manually in the Gemfile(5), + and then running bundle install(1) bundle-install.1.html will only + update daemons and eventmachine, but not rack. For more information, + see the CONSERVATIVE UPDATING section of bundle install(1) bun- + dle-install.1.html. + +RECOMMENDED WORKFLOW + In general, when working with an application managed with bundler, you + should use the following workflow: + + o After you create your Gemfile(5) for the first time, run + + $ bundle install + + o Check the resulting Gemfile.lock into version control + + $ git add Gemfile.lock + + o When checking out this repository on another development machine, + run + + $ bundle install + + o When checking out this repository on a deployment machine, run + + $ bundle install --deployment + + o After changing the Gemfile(5) to reflect a new or update depen- + dency, run + + $ bundle install + + o Make sure to check the updated Gemfile.lock into version control + + $ git add Gemfile.lock + + o If bundle install(1) bundle-install.1.html reports a conflict, man- + ually update the specific gems that you changed in the Gemfile(5) + + $ bundle update rails thin + + o If you want to update all the gems to the latest possible versions + that still match the gems listed in the Gemfile(5), run + + $ bundle update + + + + + + + August 2010 BUNDLE-UPDATE(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle.txt new file mode 100644 index 00000000..9a014ec8 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/bundle.txt @@ -0,0 +1,83 @@ +BUNDLE(1) BUNDLE(1) + + + +NAME + bundle - Ruby Dependency Management + +SYNOPSIS + bundle [--no-color] COMMAND [ARGS] + +DESCRIPTION + Bundler manages an application's dependencies through its entire life + across many machines systematically and repeatably. + + See the bundler website http://gembundler.com for information on get- + ting started, and Gemfile(5) for more information on the Gemfile for- + mat. + +OPTIONS + --no-color + Prints all output without color + +BUNDLE COMMANDS + We divide bundle subcommands into primary commands and utilities. + +PRIMARY COMMANDS + bundle install(1) bundle-install.1.html + Install the gems specified by the Gemfile or Gemfile.lock + + bundle update(1) bundle-update.1.html + Update dependencies to their latest versions + + bundle package(1) bundle-package.1.html + Package the .gem files required by your application into the + vendor/cache directory + + bundle exec(1) bundle-exec.1.html + Execute a script in the context of the current bundle + + bundle config(1) bundle-config.1.html + Specify and read configuration options for bundler + +UTILITIES + bundle check(1) + Determine whether the requirements for your application are + installed and available to bundler + + bundle list(1) + Show all of the gems in the current bundle + + bundle show(1) + Show the source location of a particular gem in the bundle + + bundle console(1) + Start an IRB session in the context of the current bundle + + bundle open(1) + Open an installed gem in the editor + + bundle viz(1) + Generate a visual representation of your dependencies + + bundle init(1) + Generate a simple Gemfile, placed in the current directory + + bundle gem(1) + Create a simple gem, suitable for development with bundler + +OBSOLETE + These commands are obsolete and should no longer be used + + o bundle lock(1) + + o bundle unlock(1) + + o bundle cache(1) + + + + + + + August 2010 BUNDLE(1) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5 b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5 new file mode 100644 index 00000000..0b431ac5 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5 @@ -0,0 +1,343 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "GEMFILE" "5" "August 2010" "" "" +. +.SH "NAME" +\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs +. +.SH "SYNOPSIS" +A \fBGemfile\fR describes the gem dependencies required to execute associated Ruby code\. +. +.P +Place the \fBGemfile\fR in the root of the directory containing the associated code\. For instance, in a Rails application, place the \fBGemfile\fR in the same directory as the \fBRakefile\fR\. +. +.SH "SYNTAX" +A \fBGemfile\fR is evaluated as Ruby code, in a context which makes available a number of methods used to describe the gem requirements\. +. +.SH "SOURCES (#source)" +At the top of the \fBGemfile\fR, add one line for each \fBRubygems\fR source that might contain the gems listed in the \fBGemfile\fR\. +. +.IP "" 4 +. +.nf + +source "http://rubygems\.org" +source "http://gems\.github\.com" +. +.fi +. +.IP "" 0 +. +.P +Each of these _source_s \fBMUST\fR be a valid Rubygems repository\. +. +.SH "GEMS (#gem)" +Specify gem requirements using the \fBgem\fR method, with the following arguments\. All parameters are \fBOPTIONAL\fR unless otherwise specified\. +. +.SS "NAME (required)" +For each gem requirement, list a single \fIgem\fR line\. +. +.IP "" 4 +. +.nf + +gem "nokogiri" +. +.fi +. +.IP "" 0 +. +.SS "VERSION" +Each \fIgem\fR \fBMAY\fR have one or more version specifiers\. +. +.IP "" 4 +. +.nf + +gem "nokogiri", ">= 1\.4\.2" +gem "RedCloth", ">= 4\.1\.0", "< 4\.2\.0" +. +.fi +. +.IP "" 0 +. +.SS "REQUIRE AS (:require)" +Each \fIgem\fR \fBMAY\fR specify its main file, which should be used when autorequiring (\fBBundler\.require\fR)\. +. +.IP "" 4 +. +.nf + +gem "sqlite3\-ruby", :require => "sqlite3" +. +.fi +. +.IP "" 0 +. +.P +This defaults to the name of the gem itself\. For instance, these are identical: +. +.IP "" 4 +. +.nf + +gem "nokogiri" +gem "nokogiri", :require => "nokogiri" +. +.fi +. +.IP "" 0 +. +.SS "GROUPS (:group or :groups)" +Each \fIgem\fR \fBMAY\fR specify membership in one or more groups\. Any \fIgem\fR that does not specify membership in any group is placed in the \fBdefault\fR group\. +. +.IP "" 4 +. +.nf + +gem "rspec", :group => :test +gem "wirble", :groups => [:development, :test] +. +.fi +. +.IP "" 0 +. +.P +The Bundler runtime allows its two main methods, \fBBundler\.setup\fR and \fBBundler\.require\fR, to limit their impact to particular groups\. +. +.IP "" 4 +. +.nf + +# setup adds gems to Ruby\'s load path +Bundler\.setup # defaults to all groups +require "bundler/setup" # same as Bundler\.setup +Bundler\.setup(:default) # only set up the _default_ group +Bundler\.setup(:test) # only set up the _test_ group (but `not` _default_) +Bundler\.setup(:default, :test) # set up the _default_ and _test_ groups, but no others + +# require requires all of the gems in the specified groups +Bundler\.require # defaults to just the _default_ group +Bundler\.require(:default) # identical +Bundler\.require(:default, :test) # requires the _default_ and _test_ groups +Bundler\.require(:test) # requires just the _test_ group +. +.fi +. +.IP "" 0 +. +.P +The Bundler CLI allows you to specify a list of groups whose gems \fBbundle install\fR should not install with the \fB\-\-without\fR option\. To specify multiple groups to ignore, specify a list of groups separated by spaces\. +. +.IP "" 4 +. +.nf + +bundle install \-\-without test +bundle install \-\-without development test +. +.fi +. +.IP "" 0 +. +.P +After running \fBbundle install \-\-without test\fR, bundler will remember that you excluded the test group in the last installation\. The next time you run \fBbundle install\fR, without any \fB\-\-without option\fR, bundler will recall it\. +. +.P +Also, calling \fBBundler\.setup\fR with no parameters, or calling \fBrequire "bundler/setup"\fR will setup all groups except for the ones you excluded via \fB\-\-without\fR (since they are obviously not available)\. +. +.P +Note that on \fBbundle install\fR, bundler downloads and evaluates all gems, in order to create a single canonical list of all of the required gems and their dependencies\. This means that you cannot list different versions of the same gems in different groups\. For more details, see Understanding Bundler \fIhttp://gembundler\.com/v1\.0/understanding\.html\fR\. +. +.SS "PLATFORMS (:platforms)" +If a gem should only be used in a particular platform or set of platforms, you can specify them\. Platforms are essentially identical to groups, except that you do not need to use the \fB\-\-without\fR install\-time flag to exclude groups of gems for other platforms\. +. +.P +There are a number of \fBGemfile\fR platforms: +. +.TP +\fBruby\fR +C Ruby (MRI) or Rubinius, but \fBNOT\fR Windows +. +.TP +\fBruby_18\fR +\fIruby\fR \fBAND\fR version 1\.8 +. +.TP +\fBruby_19\fR +\fIruby\fR \fBAND\fR version 1\.9 +. +.TP +\fBmri\fR +Same as \fIruby\fR, but not Rubinius +. +.TP +\fBmri_18\fR +\fImri\fR \fBAND\fR version 1\.8 +. +.TP +\fBmri_19\fR +\fImri\fR \fBAND\fR version 1\.9 +. +.TP +\fBjruby\fR +JRuby +. +.TP +\fBmswin\fR +Windows +. +.P +As with groups, you can specify one or more platforms: +. +.IP "" 4 +. +.nf + +gem "weakling", :platforms => :jruby +gem "ruby\-debug", :platforms => :mri_18 +gem "nokogiri", :platforms => [:mri_18, :jruby] +. +.fi +. +.IP "" 0 +. +.P +All operations involving groups (\fBbundle install\fR, \fBBundler\.setup\fR, \fBBundler\.require\fR) behave exactly the same as if any groups not matching the current platform were explicitly excluded\. +. +.SS "GIT (:git)" +If necessary, you can specify that a gem is located at a particular git repository\. The repository can be public (\fBhttp://github\.com/rails/rails\.git\fR) or private (\fBgit@github\.com:rails/rails\.git\fR)\. If the repository is private, the user that you use to run \fBbundle install\fR \fBMUST\fR have the appropriate keys available in their \fB$HOME/\.ssh\fR\. +. +.P +Git repositories are specified using the \fB:git\fR parameter\. The \fBgroup\fR, \fBplatforms\fR, and \fBrequire\fR options are available and behave exactly the same as they would for a normal gem\. +. +.IP "" 4 +. +.nf + +gem "rails", :git => "git://github\.com/rails/rails\.git" +. +.fi +. +.IP "" 0 +. +.P +A git repository \fBSHOULD\fR have at least one file, at the root of the directory containing the gem, with the extension \fB\.gemspec\fR\. This file \fBMUST\fR contain a valid gem specification, as expected by the \fBgem build\fR command\. It \fBMUST NOT\fR have any dependencies, other than on the files in the git repository itself and any built\-in functionality of Ruby or Rubygems\. +. +.P +If a git repository does not have a \fB\.gemspec\fR, bundler will attempt to create one, but it will not contain any dependencies, executables, or C extension compilation instructions\. As a result, it may fail to properly integrate into your application\. +. +.P +If a git repository does have a \fB\.gemspec\fR for the gem you attached it to, a version specifier, if provided, means that the git repository is only valid if the \fB\.gemspec\fR specifies a version matching the version specifier\. If not, bundler will print a warning\. +. +.IP "" 4 +. +.nf + +gem "rails", "2\.3\.8", :git => "git://github\.com/rails/rails\.git" +# bundle install will fail, because the \.gemspec in the rails +# repository\'s master branch specifies version 3\.0\.0 +. +.fi +. +.IP "" 0 +. +.P +If a git repository does \fBnot\fR have a \fB\.gemspec\fR for the gem you attached it to, a version specifier \fBMUST\fR be provided\. Bundler will use this version in the simple \fB\.gemspec\fR it creates\. +. +.P +Git repositories support a number of additional options\. +. +.TP +\fBbranch\fR, \fBtag\fR, and \fBref\fR +You \fBMUST\fR only specify at most one of these options\. The default is \fB:branch => "master"\fR +. +.TP +\fBsubmodules\fR +Specify \fB:submodules => true\fR to cause bundler to expand any submodules included in the git repository +. +.P +If a git repository contains multiple \fB\.gemspecs\fR, each \fB\.gemspec\fR represents a gem located at the same place in the file system as the \fB\.gemspec\fR\. +. +.IP "" 4 +. +.nf + +|~rails [git root] +| |\-rails\.gemspec [rails gem located here] +|~actionpack +| |\-actionpack\.gemspec [actionpack gem located here] +|~activesupport +| |\-activesupport\.gemspec [activesupport gem located here] +\.\.\. +. +.fi +. +.IP "" 0 +. +.P +To install a gem located in a git repository, bundler changes to the directory containing the gemspec, runs \fBgem build name\.gemspec\fR and then installs the resulting gem\. The \fBgem build\fR command, which comes standard with Rubygems, evaluates the \fB\.gemspec\fR in the context of the directory in which it is located\. +. +.SS "PATH (:path)" +You can specify that a gem is located in a particular location on the file system\. Relative paths are resolved relative to the directory containing the \fBGemfile\fR\. +. +.P +Similar to the semantics of the \fB:git\fR option, the \fB:path\fR option requires that the directory in question either contains a \fB\.gemspec\fR for the gem, or that you specify an explicit version that bundler should use\. +. +.P +Unlike \fB:git\fR, bundler does not compile C extensions for gems specified as paths\. +. +.IP "" 4 +. +.nf + +gem "rails", :path => "vendor/rails" +. +.fi +. +.IP "" 0 +. +.SH "BLOCK FORM OF GIT, PATH, GROUP and PLATFORMS" +The \fB:git\fR, \fB:path\fR, \fB:group\fR, and \fB:platforms\fR options may be applied to a group of gems by using block form\. +. +.IP "" 4 +. +.nf + +git "git://github\.com/rails/rails\.git" do + gem "activesupport" + gem "actionpack" +end + +platforms :ruby do + gem "ruby\-debug" + gem "sqlite3\-ruby" +end + +group :development do + gem "wirble" + gem "faker" +end +. +.fi +. +.IP "" 0 +. +.P +In the case of the \fBgit\fR block form, the \fB:ref\fR, \fB:branch\fR, \fB:tag\fR, and \fB:submodules\fR options may be passed to the \fBgit\fR method, and all gems in the block will inherit those options\. +. +.SH "SOURCE PRIORITY" +When attempting to locate a gem to satisfy a gem requirement, bundler uses the following priority order: +. +.IP "1." 4 +The source explicitly attached to the gem (using \fB:path\fR or \fB:git\fR) +. +.IP "2." 4 +For implicit gems (dependencies of explicit gems), any git or path repository otherwise declared\. This results in bundler prioritizing the ActiveSupport gem from the Rails git repository over ones from \fBrubygems\.org\fR +. +.IP "3." 4 +The sources specified via \fBsource\fR, in the order in which they were declared in the \fBGemfile\fR\. +. +.IP "" 0 + diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5.txt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5.txt new file mode 100644 index 00000000..27f7d51f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/man/gemfile.5.txt @@ -0,0 +1,317 @@ +GEMFILE(5) GEMFILE(5) + + + +NAME + Gemfile - A format for describing gem dependencies for Ruby programs + +SYNOPSIS + A Gemfile describes the gem dependencies required to execute associated + Ruby code. + + Place the Gemfile in the root of the directory containing the associ- + ated code. For instance, in a Rails application, place the Gemfile in + the same directory as the Rakefile. + +SYNTAX + A Gemfile is evaluated as Ruby code, in a context which makes available + a number of methods used to describe the gem requirements. + +SOURCES (#source) + At the top of the Gemfile, add one line for each Rubygems source that + might contain the gems listed in the Gemfile. + + + + source "http://rubygems.org" + source "http://gems.github.com" + + + + Each of these _source_s MUST be a valid Rubygems repository. + +GEMS (#gem) + Specify gem requirements using the gem method, with the following argu- + ments. All parameters are OPTIONAL unless otherwise specified. + + NAME (required) + For each gem requirement, list a single gem line. + + + + gem "nokogiri" + + + + VERSION + Each gem MAY have one or more version specifiers. + + + + gem "nokogiri", ">= 1.4.2" + gem "RedCloth", ">= 4.1.0", "< 4.2.0" + + + + REQUIRE AS (:require) + Each gem MAY specify its main file, which should be used when autore- + quiring (Bundler.require). + + + + gem "sqlite3-ruby", :require => "sqlite3" + + + + This defaults to the name of the gem itself. For instance, these are + identical: + + + + gem "nokogiri" + gem "nokogiri", :require => "nokogiri" + + + + GROUPS (:group or :groups) + Each gem MAY specify membership in one or more groups. Any gem that + does not specify membership in any group is placed in the default + group. + + + + gem "rspec", :group => :test + gem "wirble", :groups => [:development, :test] + + + + The Bundler runtime allows its two main methods, Bundler.setup and + Bundler.require, to limit their impact to particular groups. + + + + # setup adds gems to Ruby's load path + Bundler.setup # defaults to all groups + require "bundler/setup" # same as Bundler.setup + Bundler.setup(:default) # only set up the _default_ group + Bundler.setup(:test) # only set up the _test_ group (but `not` _default_) + Bundler.setup(:default, :test) # set up the _default_ and _test_ groups, but no others + + # require requires all of the gems in the specified groups + Bundler.require # defaults to just the _default_ group + Bundler.require(:default) # identical + Bundler.require(:default, :test) # requires the _default_ and _test_ groups + Bundler.require(:test) # requires just the _test_ group + + + + The Bundler CLI allows you to specify a list of groups whose gems bun- + dle install should not install with the --without option. To specify + multiple groups to ignore, specify a list of groups separated by spa- + ces. + + + + bundle install --without test + bundle install --without development test + + + + After running bundle install --without test, bundler will remember that + you excluded the test group in the last installation. The next time you + run bundle install, without any --without option, bundler will recall + it. + + Also, calling Bundler.setup with no parameters, or calling require + "bundler/setup" will setup all groups except for the ones you excluded + via --without (since they are obviously not available). + + Note that on bundle install, bundler downloads and evaluates all gems, + in order to create a single canonical list of all of the required gems + and their dependencies. This means that you cannot list different ver- + sions of the same gems in different groups. For more details, see + Understanding Bundler http://gembundler.com/v1.0/understanding.html. + + PLATFORMS (:platforms) + If a gem should only be used in a particular platform or set of plat- + forms, you can specify them. Platforms are essentially identical to + groups, except that you do not need to use the --without install-time + flag to exclude groups of gems for other platforms. + + There are a number of Gemfile platforms: + + ruby C Ruby (MRI) or Rubinius, but NOT Windows + + ruby_18 + ruby AND version 1.8 + + ruby_19 + ruby AND version 1.9 + + mri Same as ruby, but not Rubinius + + mri_18 mri AND version 1.8 + + mri_19 mri AND version 1.9 + + jruby JRuby + + mswin Windows + + As with groups, you can specify one or more platforms: + + + + gem "weakling", :platforms => :jruby + gem "ruby-debug", :platforms => :mri_18 + gem "nokogiri", :platforms => [:mri_18, :jruby] + + + + All operations involving groups (bundle install, Bundler.setup, + Bundler.require) behave exactly the same as if any groups not matching + the current platform were explicitly excluded. + + GIT (:git) + If necessary, you can specify that a gem is located at a particular git + repository. The repository can be public + (http://github.com/rails/rails.git) or private + (git@github.com:rails/rails.git). If the repository is private, the + user that you use to run bundle install MUST have the appropriate keys + available in their $HOME/.ssh. + + Git repositories are specified using the :git parameter. The group, + platforms, and require options are available and behave exactly the + same as they would for a normal gem. + + + + gem "rails", :git => "git://github.com/rails/rails.git" + + + + A git repository SHOULD have at least one file, at the root of the + directory containing the gem, with the extension .gemspec. This file + MUST contain a valid gem specification, as expected by the gem build + command. It MUST NOT have any dependencies, other than on the files in + the git repository itself and any built-in functionality of Ruby or + Rubygems. + + If a git repository does not have a .gemspec, bundler will attempt to + create one, but it will not contain any dependencies, executables, or C + extension compilation instructions. As a result, it may fail to prop- + erly integrate into your application. + + If a git repository does have a .gemspec for the gem you attached it + to, a version specifier, if provided, means that the git repository is + only valid if the .gemspec specifies a version matching the version + specifier. If not, bundler will print a warning. + + + + gem "rails", "2.3.8", :git => "git://github.com/rails/rails.git" + # bundle install will fail, because the .gemspec in the rails + # repository's master branch specifies version 3.0.0 + + + + If a git repository does not have a .gemspec for the gem you attached + it to, a version specifier MUST be provided. Bundler will use this ver- + sion in the simple .gemspec it creates. + + Git repositories support a number of additional options. + + branch, tag, and ref + You MUST only specify at most one of these options. The default + is :branch => "master" + + submodules + Specify :submodules => true to cause bundler to expand any sub- + modules included in the git repository + + If a git repository contains multiple .gemspecs, each .gemspec repre- + sents a gem located at the same place in the file system as the .gem- + spec. + + + + |~rails [git root] + | |-rails.gemspec [rails gem located here] + |~actionpack + | |-actionpack.gemspec [actionpack gem located here] + |~activesupport + | |-activesupport.gemspec [activesupport gem located here] + + + + To install a gem located in a git repository, bundler changes to the + directory containing the gemspec, runs gem build name.gemspec and then + installs the resulting gem. The gem build command, which comes standard + with Rubygems, evaluates the .gemspec in the context of the directory + in which it is located. + + PATH (:path) + You can specify that a gem is located in a particular location on the + file system. Relative paths are resolved relative to the directory con- + taining the Gemfile. + + Similar to the semantics of the :git option, the :path option requires + that the directory in question either contains a .gemspec for the gem, + or that you specify an explicit version that bundler should use. + + Unlike :git, bundler does not compile C extensions for gems specified + as paths. + + + + gem "rails", :path => "vendor/rails" + + + +BLOCK FORM OF GIT, PATH, GROUP and PLATFORMS + The :git, :path, :group, and :platforms options may be applied to a + group of gems by using block form. + + + + git "git://github.com/rails/rails.git" do + gem "activesupport" + gem "actionpack" + end + + platforms :ruby do + gem "ruby-debug" + gem "sqlite3-ruby" + end + + group :development do + gem "wirble" + gem "faker" + end + + + + In the case of the git block form, the :ref, :branch, :tag, and :sub- + modules options may be passed to the git method, and all gems in the + block will inherit those options. + +SOURCE PRIORITY + When attempting to locate a gem to satisfy a gem requirement, bundler + uses the following priority order: + + 1. The source explicitly attached to the gem (using :path or :git) + + 2. For implicit gems (dependencies of explicit gems), any git or path + repository otherwise declared. This results in bundler prioritizing + the ActiveSupport gem from the Rails git repository over ones from + rubygems.org + + 3. The sources specified via source, in the order in which they were + declared in the Gemfile. + + + + + + + August 2010 GEMFILE(5) diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/remote_specification.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/remote_specification.rb new file mode 100644 index 00000000..3851014c --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/remote_specification.rb @@ -0,0 +1,59 @@ +require "uri" +require "rubygems/spec_fetcher" + +module Bundler + # Represents a lazily loaded gem specification, where the full specification + # is on the source server in rubygems' "quick" index. The proxy object is to + # be seeded with what we're given from the source's abbreviated index - the + # full specification will only be fetched when necesary. + class RemoteSpecification + include MatchPlatform + + attr_reader :name, :version, :platform + attr_accessor :source + + def initialize(name, version, platform, source_uri) + @name = name + @version = version + @platform = platform + @source_uri = source_uri + end + + # Needed before installs, since the arch matters then and quick + # specs don't bother to include the arch in the platform string + def fetch_platform + @platform = _remote_specification.platform + end + + def full_name + if platform == Gem::Platform::RUBY or platform.nil? then + "#{@name}-#{@version}" + else + "#{@name}-#{@version}-#{platform}" + end + end + + # Because Rubyforge cannot be trusted to provide valid specifications + # once the remote gem is downloaded, the backend specification will + # be swapped out. + def __swap__(spec) + @specification = spec + end + + private + + def _remote_specification + @specification ||= begin + Gem::SpecFetcher.new.fetch_spec([@name, @version, @platform], URI(@source_uri.to_s)) + end + end + + def method_missing(method, *args, &blk) + if Gem::Specification.new.respond_to?(method) + _remote_specification.send(method, *args, &blk) + else + super + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/resolver.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/resolver.rb new file mode 100644 index 00000000..81ecb7ae --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/resolver.rb @@ -0,0 +1,455 @@ +require 'set' +# This is the latest iteration of the gem dependency resolving algorithm. As of now, +# it can resolve (as a success or failure) any set of gem dependencies we throw at it +# in a reasonable amount of time. The most iterations I've seen it take is about 150. +# The actual implementation of the algorithm is not as good as it could be yet, but that +# can come later. + +# Extending Gem classes to add necessary tracking information +module Gem + class Specification + def required_by + @required_by ||= [] + end + end + class Dependency + def required_by + @required_by ||= [] + end + end +end + +module Bundler + class Resolver + ALL = [ Gem::Platform::RUBY, + Gem::Platform::JAVA, + Gem::Platform::MSWIN, + Gem::Platform::MING] + + class SpecGroup < Array + include GemHelpers + + attr_reader :activated, :required_by + + def initialize(a) + super + @required_by = [] + @activated = [] + @dependencies = nil + @specs = {} + + ALL.each do |p| + @specs[p] = reverse.find { |s| s.match_platform(p) } + end + end + + def initialize_copy(o) + super + @required_by = o.required_by.dup + @activated = o.activated.dup + end + + def to_specs + specs = {} + + @activated.each do |p| + if s = @specs[p] + platform = generic(Gem::Platform.new(s.platform)) + next if specs[platform] + + lazy_spec = LazySpecification.new(name, version, platform, source) + lazy_spec.dependencies.replace s.dependencies + specs[platform] = lazy_spec + end + end + specs.values + end + + def activate_platform(platform) + unless @activated.include?(platform) + @activated << platform + return __dependencies[platform] || [] + end + [] + end + + def name + @name ||= first.name + end + + def version + @version ||= first.version + end + + def source + @source ||= first.source + end + + def for?(platform) + @specs[platform] + end + + def to_s + "#{name} (#{version})" + end + + private + + def __dependencies + @dependencies ||= begin + dependencies = {} + ALL.each do |p| + if spec = @specs[p] + dependencies[p] = [] + spec.dependencies.each do |dep| + next if dep.type == :development + dependencies[p] << DepProxy.new(dep, p) + end + end + end + dependencies + end + end + end + + attr_reader :errors + + # Figures out the best possible configuration of gems that satisfies + # the list of passed dependencies and any child dependencies without + # causing any gem activation errors. + # + # ==== Parameters + # *dependencies:: The list of dependencies to resolve + # + # ==== Returns + # ,nil:: If the list of dependencies can be resolved, a + # collection of gemspecs is returned. Otherwise, nil is returned. + def self.resolve(requirements, index, source_requirements = {}, base = []) + base = SpecSet.new(base) unless base.is_a?(SpecSet) + resolver = new(index, source_requirements, base) + result = catch(:success) do + resolver.start(requirements) + raise resolver.version_conflict + nil + end + SpecSet.new(result) + end + + def initialize(index, source_requirements, base) + @errors = {} + @stack = [] + @base = base + @index = index + @missing_gems = Hash.new(0) + @source_requirements = source_requirements + end + + def debug + if ENV['DEBUG_RESOLVER'] + debug_info = yield + debug_info = debug_info.inpsect unless debug_info.is_a?(String) + $stderr.puts debug_info + end + end + + def successify(activated) + activated.values.map { |s| s.to_specs }.flatten.compact + end + + def start(reqs) + activated = {} + + resolve(reqs, activated) + end + + def resolve(reqs, activated) + # If the requirements are empty, then we are in a success state. Aka, all + # gem dependencies have been resolved. + throw :success, successify(activated) if reqs.empty? + + debug { print "\e[2J\e[f" ; "==== Iterating ====\n\n" } + + # Sort dependencies so that the ones that are easiest to resolve are first. + # Easiest to resolve is defined by: + # 1) Is this gem already activated? + # 2) Do the version requirements include prereleased gems? + # 3) Sort by number of gems available in the source. + reqs = reqs.sort_by do |a| + [ activated[a.name] ? 0 : 1, + a.requirement.prerelease? ? 0 : 1, + @errors[a.name] ? 0 : 1, + activated[a.name] ? 0 : search(a).size ] + end + + debug { "Activated:\n" + activated.values.map { |a| " #{a.name} (#{a.version})" }.join("\n") } + debug { "Requirements:\n" + reqs.map { |r| " #{r.name} (#{r.requirement})"}.join("\n") } + + activated = activated.dup + + # Pull off the first requirement so that we can resolve it + current = reqs.shift + + debug { "Attempting:\n #{current.name} (#{current.requirement})"} + + # Check if the gem has already been activated, if it has, we will make sure + # that the currently activated gem satisfies the requirement. + existing = activated[current.name] + if existing || current.name == 'bundler' + # Force the current + if current.name == 'bundler' && !existing + existing = search(DepProxy.new(Gem::Dependency.new('bundler', VERSION), Gem::Platform::RUBY)).first + activated['bundler'] = existing + raise GemNotFound, %Q{Bundler could not find gem "bundler" (#{VERSION})} unless existing + end + + if current.requirement.satisfied_by?(existing.version) + debug { " * [SUCCESS] Already activated" } + @errors.delete(existing.name) + # Since the current requirement is satisfied, we can continue resolving + # the remaining requirements. + + # I have no idea if this is the right way to do it, but let's see if it works + # The current requirement might activate some other platforms, so let's try + # adding those requirements here. + reqs.concat existing.activate_platform(current.__platform) + + resolve(reqs, activated) + else + debug { " * [FAIL] Already activated" } + @errors[existing.name] = [existing, current] + debug { current.required_by.map {|d| " * #{d.name} (#{d.requirement})" }.join("\n") } + # debug { " * All current conflicts:\n" + @errors.keys.map { |c| " - #{c}" }.join("\n") } + # Since the current requirement conflicts with an activated gem, we need + # to backtrack to the current requirement's parent and try another version + # of it (maybe the current requirement won't be present anymore). If the + # current requirement is a root level requirement, we need to jump back to + # where the conflicting gem was activated. + parent = current.required_by.last + # `existing` could not respond to required_by if it is part of the base set + # of specs that was passed to the resolver (aka, instance of LazySpecification) + parent ||= existing.required_by.last if existing.respond_to?(:required_by) + # We track the spot where the current gem was activated because we need + # to keep a list of every spot a failure happened. + debug { " -> Jumping to: #{parent.name}" } + if parent + throw parent.name, existing.respond_to?(:required_by) && existing.required_by.last.name + else + # The original set of dependencies conflict with the base set of specs + # passed to the resolver. This is by definition an impossible resolve. + raise version_conflict + end + end + else + # There are no activated gems for the current requirement, so we are going + # to find all gems that match the current requirement and try them in decending + # order. We also need to keep a set of all conflicts that happen while trying + # this gem. This is so that if no versions work, we can figure out the best + # place to backtrack to. + conflicts = Set.new + + # Fetch all gem versions matching the requirement + # + # TODO: Warn / error when no matching versions are found. + matching_versions = search(current) + + if matching_versions.empty? + if current.required_by.empty? + if base = @base[current.name] and !base.empty? + version = base.first.version + message = "You have requested:\n" \ + " #{current.name} #{current.requirement}\n\n" \ + "The bundle currently has #{current.name} locked at #{version}.\n" \ + "Try running `bundle update #{current.name}`" + elsif current.source + name = current.name + versions = @source_requirements[name][name].map { |s| s.version } + message = "Could not find gem '#{current}' in #{current.source}.\n" + if versions.any? + message << "Source contains '#{name}' at: #{versions.join(', ')}" + else + message << "Source does not contain any versions of '#{current}'" + end + else + message = "Could not find gem '#{current}' " + if @index.sources.include?(Bundler::Source::Rubygems) + message << "in any of the gem sources." + else + message << "in the gems available on this machine." + end + end + raise GemNotFound, message + else + if @missing_gems[current] >= 5 + message = "Bundler could not find find gem #{current.required_by.last}," + message << "which is required by gem #{current}." + raise GemNotFound, message + end + @missing_gems[current] += 1 + + debug { " Could not find #{current} by #{current.required_by.last}" } + @errors[current.name] = [nil, current] + end + end + + matching_versions.reverse_each do |spec_group| + conflict = resolve_requirement(spec_group, current, reqs.dup, activated.dup) + conflicts << conflict if conflict + end + # If the current requirement is a root level gem and we have conflicts, we + # can figure out the best spot to backtrack to. + if current.required_by.empty? && !conflicts.empty? + # Check the current "catch" stack for the first one that is included in the + # conflicts set. That is where the parent of the conflicting gem was required. + # By jumping back to this spot, we can try other version of the parent of + # the conflicting gem, hopefully finding a combination that activates correctly. + @stack.reverse_each do |savepoint| + if conflicts.include?(savepoint) + debug { " -> Jumping to: #{savepoint}" } + throw savepoint + end + end + end + end + end + + def resolve_requirement(spec_group, requirement, reqs, activated) + # We are going to try activating the spec. We need to keep track of stack of + # requirements that got us to the point of activating this gem. + spec_group.required_by.replace requirement.required_by + spec_group.required_by << requirement + + activated[spec_group.name] = spec_group + debug { " Activating: #{spec_group.name} (#{spec_group.version})" } + debug { spec_group.required_by.map { |d| " * #{d.name} (#{d.requirement})" }.join("\n") } + + dependencies = spec_group.activate_platform(requirement.__platform) + + # Now, we have to loop through all child dependencies and add them to our + # array of requirements. + debug { " Dependencies"} + dependencies.each do |dep| + next if dep.type == :development + debug { " * #{dep.name} (#{dep.requirement})" } + dep.required_by.replace(requirement.required_by) + dep.required_by << requirement + reqs << dep + end + + # We create a savepoint and mark it by the name of the requirement that caused + # the gem to be activated. If the activated gem ever conflicts, we are able to + # jump back to this point and try another version of the gem. + length = @stack.length + @stack << requirement.name + retval = catch(requirement.name) do + resolve(reqs, activated) + end + # Since we're doing a lot of throw / catches. A push does not necessarily match + # up to a pop. So, we simply slice the stack back to what it was before the catch + # block. + @stack.slice!(length..-1) + retval + end + + def search(dep) + if base = @base[dep.name] and base.any? + d = Gem::Dependency.new(base.first.name, *[dep.requirement.as_list, base.first.version].flatten) + else + d = dep.dep + end + index = @source_requirements[d.name] || @index + results = index.search_for_all_platforms(d, @base[d.name]) + + if results.any? + version = results.first.version + nested = [[]] + results.each do |spec| + if spec.version != version + nested << [] + version = spec.version + end + nested.last << spec + end + nested.map { |a| SpecGroup.new(a) }.select { |sg| sg.for?(dep.__platform) } + else + [] + end + end + + def clean_req(req) + if req.to_s.include?(">= 0") + req.to_s.gsub(/ \(.*?\)$/, '') + else + req.to_s.gsub(/\, (runtime|development)\)$/, ')') + end + end + + def version_conflict + VersionConflict.new(errors.keys, error_message) + end + + # For a given conflicted requirement, print out what exactly went wrong + def gem_message(requirement) + m = "" + + # A requirement that is required by itself is actually in the Gemfile, and does + # not "depend on" itself + if requirement.required_by.first && requirement.required_by.first.name != requirement.name + m << " #{clean_req(requirement.required_by.first)} depends on\n" + m << " #{clean_req(requirement)}\n" + else + m << " #{clean_req(requirement)}\n" + end + m << "\n" + end + + def error_message + output = errors.inject("") do |o, (conflict, (origin, requirement))| + + # origin is the SpecSet of specs from the Gemfile that is conflicted with + if origin + + o << %{Bundler could not find compatible versions for gem "#{origin.name}":\n} + o << " In Gemfile:\n" + + o << gem_message(requirement) + + # If the origin is a LockfileParser, it does not respond_to :required_by + unless origin.respond_to?(:required_by) && required_by = origin.required_by.first + o << " In snapshot (Gemfile.lock):\n" + end + + o << gem_message(origin) + + # origin is nil if the required gem and version cannot be found in any of + # the specified sources + else + + # if the gem cannot be found because of a version conflict between lockfile and gemfile, + # print a useful error that suggests running `bundle update`, which may fix things + # + # @base is a SpecSet of the gems in the lockfile + # conflict is the name of the gem that could not be found + if locked = @base[conflict].first + o << "Bundler could not find compatible versions for gem #{conflict.inspect}:\n" + o << " In snapshot (Gemfile.lock):\n" + o << " #{clean_req(locked)}\n\n" + + o << " In Gemfile:\n" + o << gem_message(requirement) + o << "Running `bundle update` will rebuild your snapshot from scratch, using only\n" + o << "the gems in your Gemfile, which may resolve the conflict.\n" + + # the rest of the time, the gem cannot be found because it does not exist in the known sources + else + if requirement.required_by.first + o << "Could not find gem '#{clean_req(requirement)}', required by '#{clean_req(requirement.required_by.first)}', in any of the sources\n" + else + o << "Could not find gem '#{clean_req(requirement)} in any of the sources\n" + end + end + + end + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/rubygems_ext.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/rubygems_ext.rb new file mode 100644 index 00000000..5c62c1c7 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/rubygems_ext.rb @@ -0,0 +1,203 @@ +require 'pathname' + +if defined?(Gem::QuickLoader) + # Gem Prelude makes me a sad panda :'( + Gem::QuickLoader.load_full_rubygems_library +end + +require 'rubygems' +require 'rubygems/specification' + +module Gem + @loaded_stacks = Hash.new { |h,k| h[k] = [] } + + class Specification + attr_accessor :source, :location, :relative_loaded_from + + alias_method :rg_full_gem_path, :full_gem_path + alias_method :rg_loaded_from, :loaded_from + + def full_gem_path + source.respond_to?(:path) ? + Pathname.new(loaded_from).dirname.expand_path.to_s : + rg_full_gem_path + end + + def loaded_from + relative_loaded_from ? + source.path.join(relative_loaded_from).to_s : + rg_loaded_from + end + + def load_paths + require_paths.map do |require_path| + if require_path.include?(full_gem_path) + require_path + else + File.join(full_gem_path, require_path) + end + end + end + + def groups + @groups ||= [] + end + + def git_version + if @loaded_from && File.exist?(File.join(full_gem_path, ".git")) + sha = Dir.chdir(full_gem_path){ `git rev-parse HEAD`.strip } + " #{sha[0..6]}" + end + end + + def to_gemfile(path = nil) + gemfile = "source :gemcutter\n" + gemfile << dependencies_to_gemfile(nondevelopment_dependencies) + unless development_dependencies.empty? + gemfile << "\n" + gemfile << dependencies_to_gemfile(development_dependencies, :development) + end + gemfile + end + + def nondevelopment_dependencies + dependencies - development_dependencies + end + + def add_bundler_dependencies(*groups) + Bundler.ui.warn "#add_bundler_dependencies is deprecated and will " \ + "be removed in Bundler 1.0. Instead, please use the #gemspec method " \ + "in your Gemfile, which will pull in any dependencies specified in " \ + "your gemspec" + + groups = [:default] if groups.empty? + Bundler.definition.dependencies.each do |dep| + if dep.groups.include?(:development) + self.add_development_dependency(dep.name, dep.requirement.to_s) + elsif (dep.groups & groups).any? + self.add_dependency(dep.name, dep.requirement.to_s) + end + end + end + + private + + def dependencies_to_gemfile(dependencies, group = nil) + gemfile = '' + if dependencies.any? + gemfile << "group :#{group} do\n" if group + dependencies.each do |dependency| + gemfile << ' ' if group + gemfile << %|gem "#{dependency.name}"| + req = dependency.requirements_list.first + gemfile << %|, "#{req}"| if req + gemfile << "\n" + end + gemfile << "end\n" if group + end + gemfile + end + + end + + class Dependency + attr_accessor :source, :groups + + alias eql? == + + def to_yaml_properties + instance_variables.reject { |p| ["@source", "@groups"].include?(p.to_s) } + end + + def to_lock + out = " #{name}" + unless requirement == Gem::Requirement.default + out << " (#{requirement.to_s})" + end + out + end + end + + class Platform + JAVA = Gem::Platform.new('java') + MSWIN = Gem::Platform.new('mswin32') + MING = Gem::Platform.new('x86-mingw32') + + def hash + @cpu.hash + @os.hash + @version.hash + end + + alias eql? == + end +end + +module Bundler + class DepProxy + + attr_reader :required_by, :__platform, :dep + + def initialize(dep, platform) + @dep, @__platform, @required_by = dep, platform, [] + end + + def hash + @hash ||= dep.hash + end + + def ==(o) + dep == o.dep && __platform == o.__platform + end + + alias eql? == + + def type + @dep.type + end + + def to_s + @dep.to_s + end + + private + + def method_missing(*args) + @dep.send(*args) + end + + end + + module GemHelpers + + GENERIC_CACHE = {} + GENERICS = [ + Gem::Platform::JAVA, + Gem::Platform::MSWIN, + Gem::Platform::MING, + Gem::Platform::RUBY + ] + + def generic(p) + if p == Gem::Platform::RUBY + return p + end + + GENERIC_CACHE[p] ||= GENERICS.find { |p2| p =~ p2 } || Gem::Platform::RUBY + end + end + + module MatchPlatform + include GemHelpers + + def match_platform(p) + Gem::Platform::RUBY == platform or + platform.nil? or p == platform or + generic(Gem::Platform.new(platform)) == p + end + end +end + +module Gem + class Specification + include Bundler::MatchPlatform + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/runtime.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/runtime.rb new file mode 100644 index 00000000..61d46b0b --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/runtime.rb @@ -0,0 +1,148 @@ +require "digest/sha1" + +module Bundler + class Runtime < Environment + include SharedHelpers + + def setup(*groups) + # Has to happen first + clean_load_path + + specs = groups.any? ? @definition.specs_for(groups) : requested_specs + + setup_environment + cripple_rubygems(specs) + + # Activate the specs + specs.each do |spec| + unless spec.loaded_from + 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 + 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) + raise e + end + + Gem.loaded_specs[spec.name] = spec + load_paths = spec.load_paths.reject {|path| $LOAD_PATH.include?(path)} + $LOAD_PATH.unshift(*load_paths) + end + + lock + + self + end + + REGEXPS = [ + /^no such file to load -- (.+)$/i, + /^Missing \w+ (?:file\s*)?([^\s]+.rb)$/i, + /^Missing API definition file in (.+)$/i, + /^cannot load such file -- (.+)$/i, + ] + + def require(*groups) + groups.map! { |g| g.to_sym } + groups = [:default] if groups.empty? + + @definition.dependencies.each do |dep| + # Skip the dependency if it is not in any of the requested + # groups + next unless ((dep.groups & groups).any? && dep.current_platform?) + + required_file = nil + + begin + # Loop through all the specified autorequires for the + # dependency. If there are none, use the dependency's name + # as the autorequire. + Array(dep.autorequire || dep.name).each do |file| + required_file = file + Kernel.require file + end + rescue LoadError => e + REGEXPS.find { |r| r =~ e.message } + raise if dep.autorequire || $1 != required_file + end + end + end + + def dependencies_for(*groups) + if groups.empty? + dependencies + else + dependencies.select { |d| (groups & d.groups).any? } + end + end + + alias gems specs + + def cache + FileUtils.mkdir_p(cache_path) + + Bundler.ui.info "Updating .gem files in vendor/cache" + specs.each do |spec| + next if spec.name == 'bundler' + spec.source.cache(spec) if spec.source.respond_to?(:cache) + end + prune_cache unless Bundler.settings[:no_prune] + end + + def prune_cache + FileUtils.mkdir_p(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 + + resolve.any? do |s| + s.name == spec.name && s.version == spec.version + end + end + + if cached.any? + Bundler.ui.info "Removing outdated .gem files from vendor/cache" + + cached.each do |path| + Bundler.ui.info " * #{File.basename(path)}" + File.delete(path) + end + end + end + + private + + def cache_path + root.join("vendor/cache") + end + + def setup_environment + begin + ENV["BUNDLE_BIN_PATH"] = Gem.bin_path("bundler", "bundle", VERSION) + rescue Gem::GemNotFoundException + ENV["BUNDLE_BIN_PATH"] = File.expand_path("../../../bin/bundle", __FILE__) + end + + # Set PATH + paths = (ENV["PATH"] || "").split(File::PATH_SEPARATOR) + paths.unshift "#{Bundler.bundle_path}/bin" + ENV["PATH"] = paths.uniq.join(File::PATH_SEPARATOR) + + # Set BUNDLE_GEMFILE + ENV["BUNDLE_GEMFILE"] = default_gemfile.to_s + + # Set RUBYOPT + rubyopt = [ENV["RUBYOPT"]].compact + if rubyopt.empty? || rubyopt.first !~ /-rbundler\/setup/ + rubyopt.unshift "-rbundler/setup" + rubyopt.unshift "-I#{File.expand_path('../..', __FILE__)}" + ENV["RUBYOPT"] = rubyopt.join(' ') + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/settings.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/settings.rb new file mode 100644 index 00000000..d4b8dcbb --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/settings.rb @@ -0,0 +1,117 @@ +module Bundler + class Settings + def initialize(root) + @root = root + @local_config = File.exist?(local_config_file) ? YAML.load_file(local_config_file) : {} + @global_config = File.exist?(global_config_file) ? YAML.load_file(global_config_file) : {} + end + + def [](key) + key = key_for(key) + @local_config[key] || ENV[key] || @global_config[key] + end + + def []=(key, value) + set_key(key, value, @local_config, local_config_file) + end + + def delete(key) + @local_config + end + + def set_global(key, value) + set_key(key, value, @global_config, global_config_file) + end + + def all + env_keys = ENV.keys.select { |k| k =~ /BUNDLE_.*/ } + keys = @global_config.keys | @local_config.keys | env_keys + + keys.map do |key| + key.sub(/^BUNDLE_/, '').gsub(/__/, ".").downcase + end + end + + def locations(key) + locations = {} + + locations[:local] = @local_config[key] if @local_config.key?(key) + locations[:env] = ENV[key] if ENV[key] + locations[:global] = @global_config[key] if @global_config.key?(key) + locations + end + + def pretty_values_for(exposed_key) + key = key_for(exposed_key) + + locations = [] + if @local_config.key?(key) + locations << "Set for your local app (#{local_config_file}): #{@local_config[key].inspect}" + end + + if value = ENV[key] + locations << "Set via $#{key_for(key)}: #{value.inspect}" + end + + if @global_config.key?(key) + locations << "Set for the current user (#{global_config_file}): #{@global_config[key].inspect}" + end + + return ["You have not configured a value for `#{exposed_key}`"] if locations.empty? + locations + end + + def without=(array) + unless array.empty? && without.empty? + self[:without] = array.join(":") + end + end + + def without + self[:without] ? self[:without].split(":").map { |w| w.to_sym } : [] + end + + # @local_config["BUNDLE_PATH"] should be prioritized over ENV["BUNDLE_PATH"] + def path + path = ENV[key_for(:path)] || @global_config[key_for(:path)] + return path if path && !@local_config.key?(key_for(:path)) + + if path = self[:path] + "#{path}/#{Bundler.ruby_scope}" + else + Gem.dir + end + end + + def allow_sudo? + !@local_config.key?(key_for(:path)) + end + + private + def key_for(key) + key = key.to_s.sub(".", "__").upcase + "BUNDLE_#{key}" + end + + def set_key(key, value, hash, file) + key = key_for(key) + + unless hash[key] == value + hash[key] = value + hash.delete(key) if value.nil? + FileUtils.mkdir_p(file.dirname) + File.open(file, "w") { |f| f.puts hash.to_yaml } + end + value + end + + def global_config_file + file = ENV["BUNDLE_CONFIG"] || File.join(Gem.user_home, ".bundle/config") + Pathname.new(file) + end + + def local_config_file + Pathname.new("#{@root}/config") + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/setup.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/setup.rb new file mode 100644 index 00000000..9650f07e --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/setup.rb @@ -0,0 +1,15 @@ +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" + 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.0/lib/bundler/shared_helpers.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/shared_helpers.rb new file mode 100644 index 00000000..d71b1ccc --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/shared_helpers.rb @@ -0,0 +1,153 @@ +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 + gemfile or raise GemfileNotFound, "Could not locate Gemfile" + Pathname.new(gemfile) + end + + def default_lockfile + Pathname.new("#{default_gemfile}.lock") + end + + def in_bundle? + find_gemfile + end + + private + + def find_gemfile + return ENV['BUNDLE_GEMFILE'] if ENV['BUNDLE_GEMFILE'] + + previous = nil + current = File.expand_path(Dir.pwd) + + until !File.directory?(current) || current == previous + 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).include?(me) + p != File.dirname(__FILE__) && + Gem.path.any? { |gp| p.include?(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.class_eval do + private + def gem(*) ; end + end + + ::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(: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(:define_method, :refresh) { } + 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.0/lib/bundler/source.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/source.rb new file mode 100644 index 00000000..31555893 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/source.rb @@ -0,0 +1,660 @@ +require "uri" +require "rubygems/installer" +require "rubygems/spec_fetcher" +require "rubygems/format" +require "digest/sha1" +require "open3" + +module Bundler + module Source + # TODO: Refactor this class + class Rubygems + attr_reader :remotes + + def initialize(options = {}) + @options = options + @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") } + @spec_fetch_map = {} + end + + def remote! + @allow_remote = true + end + + def cached! + @allow_cached = true + end + + def hash + Rubygems.hash + end + + def eql?(o) + Rubygems === o + end + + alias == eql? + + # Not really needed, but it seems good to implement this method for interface + # consistency. Source name is mostly used to identify Path & Git sources + def name + ":gems" + end + + def options + { "remotes" => @remotes.map { |r| r.to_s } } + end + + def self.from_lock(options) + s = new(options) + Array(options["remote"]).each { |r| s.add_remote(r) } + s + end + + def to_lock + out = "GEM\n" + out << remotes.map {|r| " remote: #{r}\n" }.join + out << " specs:\n" + end + + def to_s + remotes = self.remotes.map { |r| r.to_s }.join(', ') + "rubygems repository #{remotes}" + end + + def specs + @specs ||= fetch_specs + end + + def fetch(spec) + 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 + 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}) " + + 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? + + installer = Gem::Installer.new path, options + installer.install + + # 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/" + spec.executables.each do |exe| + sudo "mkdir -p #{Gem.bindir}" + sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}" + end + end + + spec.loaded_from = "#{Gem.dir}/specifications/#{spec.full_name}.gemspec" + end + + def sudo(str) + Bundler.sudo(str) + end + + def cache(spec) + cached_path = cached_gem(spec) + raise GemNotFound, "Missing gem file '#{spec.full_name}.gem'." unless cached_path + return if File.dirname(cached_path) == Bundler.app_cache.to_s + Bundler.ui.info " * #{File.basename(cached_path)}" + FileUtils.cp(cached_path, Bundler.app_cache) + end + + def add_remote(source) + @remotes << normalize_uri(source) + end + + def merge_remotes(source) + @remotes = [] + source.remotes.each do |r| + add_remote r.to_s + end + end + + private + + def cached_gem(spec) + possibilities = @caches.map { |p| "#{p}/#{spec.full_name}.gem" } + possibilities.find { |p| File.exist?(p) } + end + + def normalize_uri(uri) + uri = uri.to_s + uri = "#{uri}/" unless uri =~ %r'/$' + uri = URI(uri) + raise ArgumentError, "The source must be an absolute URI" unless uri.absolute? + uri + end + + def fetch_specs + Index.build do |idx| + idx.use installed_specs + idx.use cached_specs if @allow_cached || @allow_remote + idx.use remote_specs if @allow_remote + end + end + + def installed_specs + @installed_specs ||= begin + idx = Index.new + have_bundler = false + Gem::SourceIndex.from_installed_gems.to_a.reverse.each do |dont_use_this_var, spec| + next if spec.name == 'bundler' && spec.version.to_s != VERSION + have_bundler = true if spec.name == 'bundler' + spec.source = self + idx << spec + end + + # Always have bundler locally + unless have_bundler + # We're running bundler directly from the source + # so, let's create a fake gemspec for it (it's a path) + # gemspec + bundler = Gem::Specification.new do |s| + s.name = 'bundler' + s.version = VERSION + s.platform = Gem::Platform::RUBY + s.source = self + # TODO: Remove this + s.loaded_from = 'w0t' + end + idx << bundler + end + idx + end + end + + def cached_specs + @cached_specs ||= begin + idx = Index.new + @caches.each do |path| + Dir["#{path}/*.gem"].each do |gemfile| + next if name == 'bundler' + s = Gem::Format.from_file_by_path(gemfile).spec + s.source = self + idx << s + end + end + idx + end + end + + def remote_specs + @remote_specs ||= begin + idx = Index.new + old = Gem.sources + + remotes.each do |uri| + Bundler.ui.info "Fetching source index for #{uri}" + Gem.sources = ["#{uri}"] + fetch_all_remote_specs do |n,v| + v.each do |name, version, platform| + next if name == 'bundler' + spec = RemoteSpecification.new(name, version, platform, uri) + spec.source = self + @spec_fetch_map[spec.full_name] = [spec, uri] + idx << spec + end + end + end + idx + ensure + Gem.sources = old + end + end + + def fetch_all_remote_specs(&blk) + begin + # Fetch all specs, minus prerelease specs + Gem::SpecFetcher.new.list(true, false).each(&blk) + # Then fetch the prerelease specs + begin + Gem::SpecFetcher.new.list(false, true).each(&blk) + rescue Gem::RemoteFetcher::FetchError + Bundler.ui.warn "Could not fetch prerelease specs from #{self}" + end + rescue Gem::RemoteFetcher::FetchError + Bundler.ui.warn "Could not reach #{self}" + end + end + + 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" + + FileUtils.mkdir_p("#{download_path}/cache") + Gem::RemoteFetcher.fetcher.download(spec, uri, download_path) + + if Bundler.requires_sudo? + sudo "mkdir -p #{Gem.dir}/cache" + sudo "mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}" + end + + gem_path + end + end + + class Path + attr_reader :path, :options + # Kind of a hack, but needed for the lock file parser + attr_writer :name + attr_accessor :version + + DEFAULT_GLOB = "{,*/}*.gemspec" + + def initialize(options) + @options = options + @glob = options["glob"] || DEFAULT_GLOB + + @allow_cached = false + @allow_remote = false + + if options["path"] + @path = Pathname.new(options["path"]).expand_path(Bundler.root) + end + + @name = options["name"] + @version = options["version"] + end + + def remote! + @allow_remote = true + end + + def cached! + @allow_cached = true + end + + def self.from_lock(options) + new(options.merge("path" => options.delete("remote"))) + end + + def to_lock + out = "PATH\n" + out << " remote: #{relative_path}\n" + out << " glob: #{@glob}\n" unless @glob == DEFAULT_GLOB + out << " specs:\n" + end + + def to_s + "source at #{@path}" + end + + def hash + self.class.hash + end + + def eql?(o) + o.instance_of?(Path) && + path == o.path && + name == o.name && + version == o.version + end + + alias == eql? + + def name + File.basename(@path.to_s) + end + + def load_spec_files + index = Index.new + + if File.directory?(path) + Dir["#{path}/#{@glob}"].each do |file| + spec = Bundler.load_gemspec(file) + if spec + spec.loaded_from = file.to_s + spec.source = self + index << spec + end + end + + if index.empty? && @name && @version + index << Gem::Specification.new do |s| + s.name = @name + s.source = self + s.version = Gem::Version.new(@version) + s.platform = Gem::Platform::RUBY + s.summary = "Fake gemspec for #{@name}" + s.relative_loaded_from = "#{@name}.gemspec" + if path.join("bin").exist? + binaries = path.join("bin").children.map{|c| c.basename.to_s } + s.executables = binaries + end + end + end + else + raise PathError, "The path `#{path}` does not exist." + end + + index + end + + def local_specs + @local_specs ||= load_spec_files + end + + 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 + @wrappers = options[:wrappers] || true + @env_shebang = options[:env_shebang] || true + @format_executable = options[:format_executable] || false + end + + def generate_bin + return if spec.executables.nil? || spec.executables.empty? + + if Bundler.requires_sudo? + FileUtils.mkdir_p("#{Bundler.tmp}/bin") unless File.exist?("#{Bundler.tmp}/bin") + end + super + if Bundler.requires_sudo? + Bundler.mkdir_p "#{Gem.dir}/bin" + spec.executables.each do |exe| + Bundler.sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.dir}/bin/" + end + end + end + end + + def install(spec) + Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} " + # Let's be honest, when we're working from a path, we can't + # really expect native extensions to work because the whole point + # is to just be able to modify what's in that path and go. So, let's + # not put ourselves through the pain of actually trying to generate + # the full gem. + Installer.new(spec).generate_bin + end + + alias specs local_specs + + def cache(spec) + unless path.to_s.index(Bundler.root.to_s) == 0 + Bundler.ui.warn " * #{spec.name} at `#{path}` will not be cached." + end + end + + private + + def relative_path + if path.to_s.include?(Bundler.root.to_s) + return path.relative_path_from(Bundler.root) + end + + path + end + + def generate_bin(spec) + gem_dir = Pathname.new(spec.full_gem_path) + + # Some gem authors put absolute paths in their gemspec + # and we have to save them from themselves + spec.files = spec.files.map do |p| + next if File.directory?(p) + begin + Pathname.new(p).relative_path_from(gem_dir).to_s + rescue ArgumentError + p + end + end.compact + + gem_file = Dir.chdir(gem_dir){ Gem::Builder.new(spec).build } + + installer = Installer.new(spec, :env_shebang => false) + installer.build_extensions + installer.generate_bin + rescue Gem::InvalidSpecificationException => e + 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." + + if !spec.extensions.empty? && !spec.email.empty? + 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`." + end + + Bundler.ui.warn "The validation message from Rubygems was:\n #{e.message}" + ensure + Dir.chdir(gem_dir){ FileUtils.rm_rf(gem_file) if gem_file && File.exist?(gem_file) } + end + + end + + class Git < Path + attr_reader :uri, :ref, :options, :submodules + + def initialize(options) + super + @uri = options["uri"] + @ref = options["ref"] || options["branch"] || options["tag"] || 'master' + @revision = options["revision"] + @submodules = options["submodules"] + @update = false + end + + def self.from_lock(options) + new(options.merge("uri" => options.delete("remote"))) + end + + def to_lock + out = "GIT\n" + out << " remote: #{@uri}\n" + out << " revision: #{revision}\n" + %w(ref branch tag submodules).each do |opt| + out << " #{opt}: #{options[opt]}\n" if options[opt] + end + out << " glob: #{@glob}\n" unless @glob == DEFAULT_GLOB + out << " specs:\n" + end + + def eql?(o) + Git === o && + uri == o.uri && + ref == o.ref && + name == o.name && + version == o.version && + submodules == o.submodules + end + + alias == eql? + + def to_s + ref = @options["ref"] ? shortref_for_display(@options["ref"]) : @ref + "#{@uri} (at #{ref})" + end + + def name + File.basename(@uri, '.git') + end + + def path + @install_path ||= begin + git_scope = "#{base_name}-#{shortref_for_path(revision)}" + + if Bundler.requires_sudo? + Bundler.user_bundle_path.join(Bundler.ruby_scope).join(git_scope) + else + Bundler.install_path.join(git_scope) + end + end + end + + def unlock! + @revision = nil + end + + # TODO: actually cache git specs + def specs + if allow_git_ops? && !@update + # Start by making sure the git cache is up to date + cache + checkout + @update = true + end + local_specs + end + + def install(spec) + Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} " + + unless @installed + Bundler.ui.debug " * Checking out revision: #{ref}" + checkout if allow_git_ops? + @installed = true + end + generate_bin(spec) + end + + def load_spec_files + super + rescue PathError, GitError + raise GitError, "#{to_s} is not checked out. Please run `bundle install`" + end + + private + + def git(command) + 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." + end + out + else + 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")}" + end + end + + def base_name + File.basename(uri.sub(%r{^(\w+://)?([^/:]+:)},''), ".git") + end + + def shortref_for_display(ref) + ref[0..6] + end + + def shortref_for_path(ref) + ref[0..11] + end + + def uri_hash + if uri =~ %r{^\w+://(\w+@)?} + # Downcase the domain component of the URI + # and strip off a trailing slash, if one is present + input = URI.parse(uri).normalize.to_s.sub(%r{/$},'') + else + # If there is no URI scheme, assume it is an ssh/git URI + input = uri + end + Digest::SHA1.hexdigest(input) + end + + def cache_path + @cache_path ||= begin + git_scope = "#{base_name}-#{uri_hash}" + + if Bundler.requires_sudo? + Bundler.user_bundle_path.join("cache/git", git_scope) + else + Bundler.cache.join("git", git_scope) + end + end + end + + def cache + if cached? + return if has_revision_cached? + Bundler.ui.info "Updating #{uri}" + in_cache { git %|fetch --force --quiet "#{uri}" refs/heads/*:refs/heads/*| } + else + Bundler.ui.info "Fetching #{uri}" + FileUtils.mkdir_p(cache_path.dirname) + git %|clone "#{uri}" "#{cache_path}" --bare --no-hardlinks| + end + end + + def checkout + unless File.exist?(path.join(".git")) + FileUtils.mkdir_p(path.dirname) + git %|clone --no-checkout "#{cache_path}" "#{path}"| + end + Dir.chdir(path) do + git %|fetch --force --quiet "#{cache_path}"| + git "reset --hard #{revision}" + + if @submodules + git "submodule init" + git "submodule update" + end + end + end + + def has_revision_cached? + return unless @revision + in_cache { git %|cat-file -e #{@revision}| } + true + rescue GitError + false + end + + def allow_git_ops? + @allow_remote || @allow_cached + end + + def revision + @revision ||= begin + if allow_git_ops? + in_cache { git("rev-parse #{ref}").strip } + else + raise GitError, "The git source #{uri} is not yet checked out. Please run `bundle install` before trying to start your application" + end + end + end + + def cached? + cache_path.exist? + end + + def in_cache(&blk) + cache unless cached? + Dir.chdir(cache_path, &blk) + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/spec_set.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/spec_set.rb new file mode 100644 index 00000000..901888a1 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/spec_set.rb @@ -0,0 +1,134 @@ +require 'tsort' + +module Bundler + class SpecSet + include TSort, Enumerable + + def initialize(specs) + @specs = specs.sort_by { |s| s.name } + end + + def each + sorted.each { |s| yield s } + end + + def length + @specs.length + end + + def for(dependencies, skip = [], check = false, match_current_platform = false) + handled, deps, specs = {}, dependencies.dup, [] + skip << 'bundler' + + until deps.empty? + dep = deps.shift + next if handled[dep] || skip.include?(dep.name) + + spec = lookup[dep.name].find do |s| + match_current_platform ? + Gem::Platform.match(s.platform) : + s.match_platform(dep.__platform) + end + + handled[dep] = true + + if spec + specs << spec + + spec.dependencies.each do |d| + next if d.type == :development + d = DepProxy.new(d, dep.__platform) unless match_current_platform + deps << d + end + elsif check + return false + end + end + + if spec = lookup['bundler'].first + specs << spec + end + + check ? true : SpecSet.new(specs) + end + + def valid_for?(deps) + self.for(deps, [], true) + end + + def [](key) + key = key.name if key.respond_to?(:name) + lookup[key].reverse + end + + def []=(key, value) + @specs << value + @lookup = nil + @sorted = nil + value + end + + def to_a + sorted.dup + end + + def to_hash + lookup.dup + end + + def materialize(deps, missing_specs = nil) + materialized = self.for(deps, [], false, true).to_a + materialized.map! do |s| + next s unless s.is_a?(LazySpecification) + spec = s.__materialize__ + if missing_specs + missing_specs << s unless spec + else + raise GemNotFound, "Could not find #{s.full_name} in any of the sources" unless spec + end + spec if spec + end + SpecSet.new(materialized.compact) + end + + def merge(set) + arr = sorted.dup + set.each do |s| + next if arr.any? { |s2| s2.name == s.name && s2.version == s.version && s2.platform == s.platform } + arr << s + end + SpecSet.new(arr) + end + + private + + def sorted + rake = @specs.find { |s| s.name == 'rake' } + @sorted ||= ([rake] + tsort).compact.uniq + end + + def lookup + @lookup ||= begin + lookup = Hash.new { |h,k| h[k] = [] } + specs = @specs.sort_by do |s| + s.platform.to_s == 'ruby' ? "\0" : s.platform.to_s + end + specs.reverse_each do |s| + lookup[s.name] << s + end + lookup + end + end + + def tsort_each_node + @specs.each { |s| yield s } + end + + def tsort_each_child(s) + s.dependencies.sort_by { |d| d.name }.each do |d| + next if d.type == :development + lookup[d.name].each { |s2| yield s2 } + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Executable b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Executable new file mode 100644 index 00000000..935ddfa6 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Executable @@ -0,0 +1,14 @@ +#!/usr/bin/env ruby +# +# This file was generated by Bundler. +# +# The application '<%= executable %>' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../<%= relative_gemfile_path %>", __FILE__) + +require 'rubygems' +require 'bundler/setup' + +load Gem.bin_path('<%= spec.name %>', '<%= executable %>') diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Gemfile b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Gemfile new file mode 100644 index 00000000..b8fa4033 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/Gemfile @@ -0,0 +1,4 @@ +# A sample Gemfile +source "http://rubygems.org" + +# gem "rails" diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Gemfile.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Gemfile.tt new file mode 100644 index 00000000..b44c02ea --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Gemfile.tt @@ -0,0 +1,4 @@ +source :gemcutter + +# Specify your gem's dependencies in <%=config[:name]%>.gemspec +gemspec diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Rakefile.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Rakefile.tt new file mode 100644 index 00000000..14cfe0b5 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/Rakefile.tt @@ -0,0 +1,2 @@ +require 'bundler' +Bundler::GemHelper.install_tasks diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/gitignore.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/gitignore.tt new file mode 100644 index 00000000..9f30a350 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/gitignore.tt @@ -0,0 +1,3 @@ +pkg/* +*.gem +.bundle diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem.rb.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem.rb.tt new file mode 100644 index 00000000..d54b2367 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem.rb.tt @@ -0,0 +1,7 @@ +<%- config[:constant_array].each_with_index do |c,i| -%> +<%= ' '*i %>module <%= c %> +<%- end -%> +<%= ' '*config[:constant_array].size %># Your code goes here... +<%- (config[:constant_array].size-1).downto(0) do |i| -%> +<%= ' '*i %>end +<%- end -%> diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem/version.rb.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem/version.rb.tt new file mode 100644 index 00000000..fe9b5fc5 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/lib/newgem/version.rb.tt @@ -0,0 +1,7 @@ +<%- config[:constant_array].each_with_index do |c,i| -%> +<%= ' '*i %>module <%= c %> +<%- end -%> +<%= ' '*config[:constant_array].size %>VERSION = "0.0.1" +<%- (config[:constant_array].size-1).downto(0) do |i| -%> +<%= ' '*i %>end +<%- end -%> diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/newgem.gemspec.tt b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/newgem.gemspec.tt new file mode 100644 index 00000000..10255c0a --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/templates/newgem/newgem.gemspec.tt @@ -0,0 +1,22 @@ +# -*- encoding: utf-8 -*- +require File.expand_path("../lib/<%=config[:name]%>/version", __FILE__) + +Gem::Specification.new do |s| + s.name = <%=config[:name].inspect%> + s.version = <%=config[:constant_name]%>::VERSION + s.platform = Gem::Platform::RUBY + s.authors = [] + s.email = [] + s.homepage = "http://rubygems.org/gems/<%=config[:name]%>" + s.summary = "TODO: Write a gem summary" + s.description = "TODO: Write a gem description" + + s.required_rubygems_version = ">= 1.3.6" + s.rubyforge_project = <%=config[:name].inspect%> + + s.add_development_dependency "bundler", ">= <%=Bundler::VERSION%>" + + s.files = `git ls-files`.split("\n") + s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact + s.require_path = 'lib' +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/ui.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/ui.rb new file mode 100644 index 00000000..df2199d7 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/ui.rb @@ -0,0 +1,60 @@ +module Bundler + class UI + def warn(message) + end + + def error(message) + end + + def info(message) + end + + def confirm(message) + end + + class Shell < UI + def initialize(shell) + @shell = shell + @quiet = false + end + + def debug(msg) + @shell.say(msg) if ENV['DEBUG'] && !@quiet + end + + def info(msg) + @shell.say(msg) if !@quiet + end + + def confirm(msg) + @shell.say(msg, :green) if !@quiet + end + + def warn(msg) + @shell.say(msg, :yellow) + end + + def error(msg) + @shell.say(msg, :red) + end + + def be_quiet! + @quiet = true + end + end + + class RGProxy < Gem::SilentUI + def initialize(ui) + @ui = ui + end + + def say(message) + if message =~ /native extensions/ + @ui.info "with native extensions " + else + @ui.debug(message) + end + end + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb new file mode 100755 index 00000000..d9399f78 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb @@ -0,0 +1,319 @@ +require 'thor/base' + +class Thor + class << self + # Sets the default task when thor is executed without an explicit task to be called. + # + # ==== Parameters + # meth:: name of the defaut task + # + def default_task(meth=nil) + case meth + when :none + @default_task = 'help' + when nil + @default_task ||= from_superclass(:default_task, 'help') + else + @default_task = meth.to_s + end + end + + # Defines the usage and the description of the next task. + # + # ==== Parameters + # usage + # description + # options + # + def desc(usage, description, options={}) + if options[:for] + task = find_and_refresh_task(options[:for]) + task.usage = usage if usage + task.description = description if description + else + @usage, @desc, @hide = usage, description, options[:hide] || false + end + end + + # Defines the long description of the next task. + # + # ==== Parameters + # long description + # + def long_desc(long_description, options={}) + if options[:for] + task = find_and_refresh_task(options[:for]) + task.long_description = long_description if long_description + else + @long_desc = long_description + end + end + + # Maps an input to a task. If you define: + # + # map "-T" => "list" + # + # Running: + # + # thor -T + # + # Will invoke the list task. + # + # ==== Parameters + # Hash[String|Array => Symbol]:: Maps the string or the strings in the array to the given task. + # + def map(mappings=nil) + @map ||= from_superclass(:map, {}) + + if mappings + mappings.each do |key, value| + if key.respond_to?(:each) + key.each {|subkey| @map[subkey] = value} + else + @map[key] = value + end + end + end + + @map + end + + # Declares the options for the next task to be declared. + # + # ==== Parameters + # Hash[Symbol => Object]:: The hash key is the name of the option and the value + # is the type of the option. Can be :string, :array, :hash, :boolean, :numeric + # or :required (string). If you give a value, the type of the value is used. + # + def method_options(options=nil) + @method_options ||= {} + build_options(options, @method_options) if options + @method_options + end + + # Adds an option to the set of method options. If :for is given as option, + # it allows you to change the options from a previous defined task. + # + # def previous_task + # # magic + # end + # + # method_option :foo => :bar, :for => :previous_task + # + # def next_task + # # magic + # end + # + # ==== Parameters + # name:: The name of the argument. + # options:: Described below. + # + # ==== Options + # :desc - Description for the argument. + # :required - If the argument is required or not. + # :default - Default value for this argument. It cannot be required and have default values. + # :aliases - Aliases for this option. + # :type - The type of the argument, can be :string, :hash, :array, :numeric or :boolean. + # :banner - String to show on usage notes. + # + def method_option(name, options={}) + scope = if options[:for] + find_and_refresh_task(options[:for]).options + else + method_options + end + + build_option(name, options, scope) + end + + # Prints help information for the given task. + # + # ==== Parameters + # shell + # task_name + # + def task_help(shell, task_name) + meth = normalize_task_name(task_name) + task = all_tasks[meth] + handle_no_task_error(meth) unless task + + shell.say "Usage:" + shell.say " #{banner(task)}" + shell.say + class_options_help(shell, nil => task.options.map { |_, o| o }) + if task.long_description + shell.say "Description:" + shell.print_wrapped(task.long_description, :ident => 2) + else + shell.say task.description + end + end + + # Prints help information for this class. + # + # ==== Parameters + # shell + # + def help(shell, subcommand = false) + list = printable_tasks(true, subcommand) + Thor::Util.thor_classes_in(self).each do |klass| + list += klass.printable_tasks(false) + end + list.sort!{ |a,b| a[0] <=> b[0] } + + shell.say "Tasks:" + shell.print_table(list, :ident => 2, :truncate => true) + shell.say + class_options_help(shell) + end + + # Returns tasks ready to be printed. + def printable_tasks(all = true, subcommand = false) + (all ? all_tasks : tasks).map do |_, task| + next if task.hidden? + item = [] + item << banner(task, false, subcommand) + item << (task.description ? "# #{task.description.gsub(/\s+/m,' ')}" : "") + item + end.compact + end + + def subcommands + @subcommands ||= from_superclass(:subcommands, []) + end + + def subcommand(subcommand, subcommand_class) + self.subcommands << subcommand.to_s + subcommand_class.subcommand_help subcommand + define_method(subcommand) { |*args| invoke subcommand_class, args } + end + + # Extend check unknown options to accept a hash of conditions. + # + # === Parameters + # options: A hash containing :only and/or :except keys + def check_unknown_options!(options={}) + @check_unknown_options ||= Hash.new + options.each do |key, value| + if value + @check_unknown_options[key] = Array(value) + else + @check_unknown_options.delete(key) + end + end + @check_unknown_options + end + + # Overwrite check_unknown_options? to take subcommands and options into account. + def check_unknown_options?(config) #:nodoc: + options = check_unknown_options + return false unless options + + task = config[:current_task] + return true unless task + + name = task.name + + if subcommands.include?(name) + false + elsif options[:except] + !options[:except].include?(name.to_sym) + elsif options[:only] + options[:only].include?(name.to_sym) + else + true + end + end + + protected + + # The method responsible for dispatching given the args. + def dispatch(meth, given_args, given_opts, config) #:nodoc: + meth ||= retrieve_task_name(given_args) + task = all_tasks[normalize_task_name(meth)] + + if task + args, opts = Thor::Options.split(given_args) + else + args, opts = given_args, nil + task = Thor::DynamicTask.new(meth) + end + + opts = given_opts || opts || [] + config.merge!(:current_task => task, :task_options => task.options) + + trailing = args[Range.new(arguments.size, -1)] + new(args, opts, config).invoke_task(task, trailing || []) + end + + # The banner for this class. You can customize it if you are invoking the + # thor class by another ways which is not the Thor::Runner. It receives + # the task that is going to be invoked and a boolean which indicates if + # the namespace should be displayed as arguments. + # + def banner(task, namespace = nil, subcommand = false) + base = File.basename($0).split(" ").first + "#{base} #{task.formatted_usage(self, $thor_runner, subcommand)}" + end + + def baseclass #:nodoc: + Thor + end + + def create_task(meth) #:nodoc: + if @usage && @desc + base_class = @hide ? Thor::HiddenTask : Thor::Task + tasks[meth] = base_class.new(meth, @desc, @long_desc, @usage, method_options) + @usage, @desc, @long_desc, @method_options, @hide = nil + true + elsif self.all_tasks[meth] || meth == "method_missing" + true + else + puts "[WARNING] Attempted to create task #{meth.inspect} without usage or description. " << + "Call desc if you want this method to be available as task or declare it inside a " << + "no_tasks{} block. Invoked from #{caller[1].inspect}." + false + end + end + + def initialize_added #:nodoc: + class_options.merge!(method_options) + @method_options = nil + end + + # Retrieve the task name from given args. + def retrieve_task_name(args) #:nodoc: + meth = args.first.to_s unless args.empty? + + if meth && (map[meth] || meth !~ /^\-/) + args.shift + else + nil + end + end + + # Receives a task name (can be nil), and try to get a map from it. + # If a map can't be found use the sent name or the default task. + def normalize_task_name(meth) #:nodoc: + meth = map[meth.to_s] || meth || default_task + meth.to_s.gsub('-','_') # treat foo-bar > foo_bar + end + + def subcommand_help(cmd) + desc "help [COMMAND]", "Describe subcommands or one specific subcommand" + class_eval <<-RUBY + def help(task = nil, subcommand = true); super; end + RUBY + end + + end + + include Thor::Base + + map HELP_MAPPINGS => :help + + desc "help [TASK]", "Describe available tasks or one specific task" + def help(task = nil, subcommand = false) + task ? self.class.task_help(shell, task) : self.class.help(shell, subcommand) + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions.rb new file mode 100755 index 00000000..bfccbf8f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions.rb @@ -0,0 +1,297 @@ +require 'fileutils' +require 'uri' +require 'thor/core_ext/file_binary_read' + +Dir[File.join(File.dirname(__FILE__), "actions", "*.rb")].each do |action| + require action +end + +class Thor + module Actions + attr_accessor :behavior + + def self.included(base) #:nodoc: + base.extend ClassMethods + end + + module ClassMethods + # Hold source paths for one Thor instance. source_paths_for_search is the + # method responsible to gather source_paths from this current class, + # inherited paths and the source root. + # + def source_paths + @_source_paths ||= [] + end + + # Stores and return the source root for this class + def source_root(path=nil) + @_source_root = path if path + @_source_root + end + + # Returns the source paths in the following order: + # + # 1) This class source paths + # 2) Source root + # 3) Parents source paths + # + def source_paths_for_search + paths = [] + paths += self.source_paths + paths << self.source_root if self.source_root + paths += from_superclass(:source_paths, []) + paths + end + + # Add runtime options that help actions execution. + # + def add_runtime_options! + class_option :force, :type => :boolean, :aliases => "-f", :group => :runtime, + :desc => "Overwrite files that already exist" + + class_option :pretend, :type => :boolean, :aliases => "-p", :group => :runtime, + :desc => "Run but do not make any changes" + + class_option :quiet, :type => :boolean, :aliases => "-q", :group => :runtime, + :desc => "Supress status output" + + class_option :skip, :type => :boolean, :aliases => "-s", :group => :runtime, + :desc => "Skip files that already exist" + end + end + + # Extends initializer to add more configuration options. + # + # ==== Configuration + # behavior:: The actions default behavior. Can be :invoke or :revoke. + # It also accepts :force, :skip and :pretend to set the behavior + # and the respective option. + # + # destination_root:: The root directory needed for some actions. + # + def initialize(args=[], options={}, config={}) + self.behavior = case config[:behavior].to_s + when "force", "skip" + _cleanup_options_and_set(options, config[:behavior]) + :invoke + when "revoke" + :revoke + else + :invoke + end + + super + self.destination_root = config[:destination_root] + end + + # Wraps an action object and call it accordingly to the thor class behavior. + # + def action(instance) #:nodoc: + if behavior == :revoke + instance.revoke! + else + instance.invoke! + end + end + + # Returns the root for this thor class (also aliased as destination root). + # + def destination_root + @destination_stack.last + end + + # Sets the root for this thor class. Relatives path are added to the + # directory where the script was invoked and expanded. + # + def destination_root=(root) + @destination_stack ||= [] + @destination_stack[0] = File.expand_path(root || '') + end + + # Returns the given path relative to the absolute root (ie, root where + # the script started). + # + def relative_to_original_destination_root(path, remove_dot=true) + path = path.gsub(@destination_stack[0], '.') + remove_dot ? (path[2..-1] || '') : path + end + + # Holds source paths in instance so they can be manipulated. + # + def source_paths + @source_paths ||= self.class.source_paths_for_search + end + + # Receives a file or directory and search for it in the source paths. + # + def find_in_source_paths(file) + relative_root = relative_to_original_destination_root(destination_root, false) + + source_paths.each do |source| + source_file = File.expand_path(file, File.join(source, relative_root)) + return source_file if File.exists?(source_file) + end + + message = "Could not find #{file.inspect} in any of your source paths. " + + unless self.class.source_root + message << "Please invoke #{self.class.name}.source_root(PATH) with the PATH containing your templates. " + end + + if source_paths.empty? + message << "Currently you have no source paths." + else + message << "Your current source paths are: \n#{source_paths.join("\n")}" + end + + raise Error, message + end + + # Do something in the root or on a provided subfolder. If a relative path + # is given it's referenced from the current root. The full path is yielded + # to the block you provide. The path is set back to the previous path when + # the method exits. + # + # ==== Parameters + # dir:: the directory to move to. + # config:: give :verbose => true to log and use padding. + # + def inside(dir='', config={}, &block) + verbose = config.fetch(:verbose, false) + + say_status :inside, dir, verbose + shell.padding += 1 if verbose + @destination_stack.push File.expand_path(dir, destination_root) + + FileUtils.mkdir_p(destination_root) unless File.exist?(destination_root) + FileUtils.cd(destination_root) { block.arity == 1 ? yield(destination_root) : yield } + + @destination_stack.pop + shell.padding -= 1 if verbose + end + + # Goes to the root and execute the given block. + # + def in_root + inside(@destination_stack.first) { yield } + end + + # Loads an external file and execute it in the instance binding. + # + # ==== Parameters + # path:: The path to the file to execute. Can be a web address or + # a relative path from the source root. + # + # ==== Examples + # + # apply "http://gist.github.com/103208" + # + # apply "recipes/jquery.rb" + # + def apply(path, config={}) + verbose = config.fetch(:verbose, true) + is_uri = path =~ /^https?\:\/\// + path = find_in_source_paths(path) unless is_uri + + say_status :apply, path, verbose + shell.padding += 1 if verbose + + if is_uri + contents = open(path, "Accept" => "application/x-thor-template") {|io| io.read } + else + contents = open(path) {|io| io.read } + end + + instance_eval(contents, path) + shell.padding -= 1 if verbose + end + + # Executes a command returning the contents of the command. + # + # ==== Parameters + # command:: the command to be executed. + # config:: give :verbose => false to not log the status. Specify :with + # to append an executable to command executation. + # + # ==== Example + # + # inside('vendor') do + # run('ln -s ~/edge rails') + # end + # + def run(command, config={}) + return unless behavior == :invoke + + destination = relative_to_original_destination_root(destination_root, false) + desc = "#{command} from #{destination.inspect}" + + if config[:with] + desc = "#{File.basename(config[:with].to_s)} #{desc}" + command = "#{config[:with]} #{command}" + end + + say_status :run, desc, config.fetch(:verbose, true) + `#{command}` unless options[:pretend] + end + + # Executes a ruby script (taking into account WIN32 platform quirks). + # + # ==== Parameters + # command:: the command to be executed. + # config:: give :verbose => false to not log the status. + # + def run_ruby_script(command, config={}) + return unless behavior == :invoke + run command, config.merge(:with => Thor::Util.ruby_command) + end + + # Run a thor command. A hash of options can be given and it's converted to + # switches. + # + # ==== Parameters + # task:: the task to be invoked + # args:: arguments to the task + # config:: give :verbose => false to not log the status. Other options + # are given as parameter to Thor. + # + # ==== Examples + # + # thor :install, "http://gist.github.com/103208" + # #=> thor install http://gist.github.com/103208 + # + # thor :list, :all => true, :substring => 'rails' + # #=> thor list --all --substring=rails + # + def thor(task, *args) + config = args.last.is_a?(Hash) ? args.pop : {} + verbose = config.key?(:verbose) ? config.delete(:verbose) : true + pretend = config.key?(:pretend) ? config.delete(:pretend) : false + + args.unshift task + args.push Thor::Options.to_switches(config) + command = args.join(' ').strip + + run command, :with => :thor, :verbose => verbose, :pretend => pretend + end + + protected + + # Allow current root to be shared between invocations. + # + def _shared_configuration #:nodoc: + super.merge!(:destination_root => self.destination_root) + end + + def _cleanup_options_and_set(options, key) #:nodoc: + case options + when Array + %w(--force -f --skip -s).each { |i| options.delete(i) } + options << "--#{key}" + when Hash + [:force, :skip, "force", "skip"].each { |i| options.delete(i) } + options.merge!(key => true) + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/create_file.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/create_file.rb new file mode 100755 index 00000000..5541ad5f --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/create_file.rb @@ -0,0 +1,105 @@ +require 'thor/actions/empty_directory' + +class Thor + module Actions + + # Create a new file relative to the destination root with the given data, + # which is the return value of a block or a data string. + # + # ==== Parameters + # destination:: the relative path to the destination root. + # data:: the data to append to the file. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # create_file "lib/fun_party.rb" do + # hostname = ask("What is the virtual hostname I should use?") + # "vhost.name = #{hostname}" + # end + # + # create_file "config/apach.conf", "your apache config" + # + def create_file(destination, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + data = args.first + action CreateFile.new(self, destination, block || data.to_s, config) + end + alias :add_file :create_file + + # AddFile is a subset of Template, which instead of rendering a file with + # ERB, it gets the content from the user. + # + class CreateFile < EmptyDirectory #:nodoc: + attr_reader :data + + def initialize(base, destination, data, config={}) + @data = data + super(base, destination, config) + end + + # Checks if the content of the file at the destination is identical to the rendered result. + # + # ==== Returns + # Boolean:: true if it is identical, false otherwise. + # + def identical? + exists? && File.binread(destination) == render + end + + # Holds the content to be added to the file. + # + def render + @render ||= if data.is_a?(Proc) + data.call + else + data + end + end + + def invoke! + invoke_with_conflict_check do + FileUtils.mkdir_p(File.dirname(destination)) + File.open(destination, 'wb') { |f| f.write render } + end + given_destination + end + + protected + + # Now on conflict we check if the file is identical or not. + # + def on_conflict_behavior(&block) + if identical? + say_status :identical, :blue + else + options = base.options.merge(config) + force_or_skip_or_conflict(options[:force], options[:skip], &block) + end + end + + # If force is true, run the action, otherwise check if it's not being + # skipped. If both are false, show the file_collision menu, if the menu + # returns true, force it, otherwise skip. + # + def force_or_skip_or_conflict(force, skip, &block) + if force + say_status :force, :yellow + block.call unless pretend? + elsif skip + say_status :skip, :yellow + else + say_status :conflict, :red + force_or_skip_or_conflict(force_on_collision?, true, &block) + end + end + + # Shows the file collision menu to the user and gets the result. + # + def force_on_collision? + base.shell.file_collision(destination){ render } + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/directory.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/directory.rb new file mode 100755 index 00000000..717508eb --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/directory.rb @@ -0,0 +1,93 @@ +require 'thor/actions/empty_directory' + +class Thor + module Actions + + # Copies recursively the files from source directory to root directory. + # If any of the files finishes with .tt, it's considered to be a template + # and is placed in the destination without the extension .tt. If any + # empty directory is found, it's copied and all .empty_directory files are + # ignored. Remember that file paths can also be encoded, let's suppose a doc + # directory with the following files: + # + # doc/ + # components/.empty_directory + # README + # rdoc.rb.tt + # %app_name%.rb + # + # When invoked as: + # + # directory "doc" + # + # It will create a doc directory in the destination with the following + # files (assuming that the app_name is "blog"): + # + # doc/ + # components/ + # README + # rdoc.rb + # blog.rb + # + # ==== Parameters + # source:: the relative path to the source root. + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # If :recursive => false, does not look for paths recursively. + # + # ==== Examples + # + # directory "doc" + # directory "doc", "docs", :recursive => false + # + def directory(source, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + destination = args.first || source + action Directory.new(self, source, destination || source, config, &block) + end + + class Directory < EmptyDirectory #:nodoc: + attr_reader :source + + def initialize(base, source, destination=nil, config={}, &block) + @source = File.expand_path(base.find_in_source_paths(source.to_s)) + @block = block + super(base, destination, { :recursive => true }.merge(config)) + end + + def invoke! + base.empty_directory given_destination, config + execute! + end + + def revoke! + execute! + end + + protected + + def execute! + lookup = config[:recursive] ? File.join(source, '**') : source + lookup = File.join(lookup, '{*,.[a-z]*}') + + Dir[lookup].each do |file_source| + next if File.directory?(file_source) + file_destination = File.join(given_destination, file_source.gsub(source, '.')) + file_destination.gsub!('/./', '/') + + case file_source + when /\.empty_directory$/ + dirname = File.dirname(file_destination).gsub(/\/\.$/, '') + next if dirname == given_destination + base.empty_directory(dirname, config) + when /\.tt$/ + destination = base.template(file_source, file_destination[0..-4], config, &@block) + else + destination = base.copy_file(file_source, file_destination, config, &@block) + end + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/empty_directory.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/empty_directory.rb new file mode 100755 index 00000000..484cb820 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/empty_directory.rb @@ -0,0 +1,134 @@ +class Thor + module Actions + + # Creates an empty directory. + # + # ==== Parameters + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # empty_directory "doc" + # + def empty_directory(destination, config={}) + action EmptyDirectory.new(self, destination, config) + end + + # Class which holds create directory logic. This is the base class for + # other actions like create_file and directory. + # + # This implementation is based in Templater actions, created by Jonas Nicklas + # and Michael S. Klishin under MIT LICENSE. + # + class EmptyDirectory #:nodoc: + attr_reader :base, :destination, :given_destination, :relative_destination, :config + + # Initializes given the source and destination. + # + # ==== Parameters + # base:: A Thor::Base instance + # source:: Relative path to the source of this file + # destination:: Relative path to the destination of this file + # config:: give :verbose => false to not log the status. + # + def initialize(base, destination, config={}) + @base, @config = base, { :verbose => true }.merge(config) + self.destination = destination + end + + # Checks if the destination file already exists. + # + # ==== Returns + # Boolean:: true if the file exists, false otherwise. + # + def exists? + ::File.exists?(destination) + end + + def invoke! + invoke_with_conflict_check do + ::FileUtils.mkdir_p(destination) + end + end + + def revoke! + say_status :remove, :red + ::FileUtils.rm_rf(destination) if !pretend? && exists? + given_destination + end + + protected + + # Shortcut for pretend. + # + def pretend? + base.options[:pretend] + end + + # Sets the absolute destination value from a relative destination value. + # It also stores the given and relative destination. Let's suppose our + # script is being executed on "dest", it sets the destination root to + # "dest". The destination, given_destination and relative_destination + # are related in the following way: + # + # inside "bar" do + # empty_directory "baz" + # end + # + # destination #=> dest/bar/baz + # relative_destination #=> bar/baz + # given_destination #=> baz + # + def destination=(destination) + if destination + @given_destination = convert_encoded_instructions(destination.to_s) + @destination = ::File.expand_path(@given_destination, base.destination_root) + @relative_destination = base.relative_to_original_destination_root(@destination) + end + end + + # Filenames in the encoded form are converted. If you have a file: + # + # %class_name%.rb + # + # It gets the class name from the base and replace it: + # + # user.rb + # + def convert_encoded_instructions(filename) + filename.gsub(/%(.*?)%/) do |string| + instruction = $1.strip + base.respond_to?(instruction) ? base.send(instruction) : string + end + end + + # Receives a hash of options and just execute the block if some + # conditions are met. + # + def invoke_with_conflict_check(&block) + if exists? + on_conflict_behavior(&block) + else + say_status :create, :green + block.call unless pretend? + end + + destination + end + + # What to do when the destination file already exists. + # + def on_conflict_behavior(&block) + say_status :exist, :blue + end + + # Shortcut to say_status shell method. + # + def say_status(status, color) + base.shell.say_status status, relative_destination, color if config[:verbose] + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/file_manipulation.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/file_manipulation.rb new file mode 100755 index 00000000..e9494626 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/file_manipulation.rb @@ -0,0 +1,229 @@ +require 'erb' +require 'open-uri' + +class Thor + module Actions + + # Copies the file from the relative source to the relative destination. If + # the destination is not given it's assumed to be equal to the source. + # + # ==== Parameters + # source:: the relative path to the source root. + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # copy_file "README", "doc/README" + # + # copy_file "doc/README" + # + def copy_file(source, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + destination = args.first || source + source = File.expand_path(find_in_source_paths(source.to_s)) + + create_file destination, nil, config do + content = File.binread(source) + content = block.call(content) if block + content + end + end + + # Gets the content at the given address and places it at the given relative + # destination. If a block is given instead of destination, the content of + # the url is yielded and used as location. + # + # ==== Parameters + # source:: the address of the given content. + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # get "http://gist.github.com/103208", "doc/README" + # + # get "http://gist.github.com/103208" do |content| + # content.split("\n").first + # end + # + def get(source, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + destination = args.first + + source = File.expand_path(find_in_source_paths(source.to_s)) unless source =~ /^http\:\/\// + render = open(source) {|input| input.binmode.read } + + destination ||= if block_given? + block.arity == 1 ? block.call(render) : block.call + else + File.basename(source) + end + + create_file destination, render, config + end + + # Gets an ERB template at the relative source, executes it and makes a copy + # at the relative destination. If the destination is not given it's assumed + # to be equal to the source removing .tt from the filename. + # + # ==== Parameters + # source:: the relative path to the source root. + # destination:: the relative path to the destination root. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # template "README", "doc/README" + # + # template "doc/README" + # + def template(source, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + destination = args.first || source + + source = File.expand_path(find_in_source_paths(source.to_s)) + context = instance_eval('binding') + + create_file destination, nil, config do + content = ERB.new(::File.binread(source), nil, '-').result(context) + content = block.call(content) if block + content + end + end + + # Changes the mode of the given file or directory. + # + # ==== Parameters + # mode:: the file mode + # path:: the name of the file to change mode + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # chmod "script/*", 0755 + # + def chmod(path, mode, config={}) + return unless behavior == :invoke + path = File.expand_path(path, destination_root) + say_status :chmod, relative_to_original_destination_root(path), config.fetch(:verbose, true) + FileUtils.chmod_R(mode, path) unless options[:pretend] + end + + # Prepend text to a file. Since it depends on inject_into_file, it's reversible. + # + # ==== Parameters + # path:: path of the file to be changed + # data:: the data to prepend to the file, can be also given as a block. + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # prepend_file 'config/environments/test.rb', 'config.gem "rspec"' + # + # prepend_file 'config/environments/test.rb' do + # 'config.gem "rspec"' + # end + # + def prepend_file(path, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + config.merge!(:after => /\A/) + inject_into_file(path, *(args << config), &block) + end + + # Append text to a file. Since it depends on inject_into_file, it's reversible. + # + # ==== Parameters + # path:: path of the file to be changed + # data:: the data to append to the file, can be also given as a block. + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # append_file 'config/environments/test.rb', 'config.gem "rspec"' + # + # append_file 'config/environments/test.rb' do + # 'config.gem "rspec"' + # end + # + def append_file(path, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + config.merge!(:before => /\z/) + inject_into_file(path, *(args << config), &block) + end + + # Injects text right after the class definition. Since it depends on + # inject_into_file, it's reversible. + # + # ==== Parameters + # path:: path of the file to be changed + # klass:: the class to be manipulated + # data:: the data to append to the class, can be also given as a block. + # config:: give :verbose => false to not log the status. + # + # ==== Examples + # + # inject_into_class "app/controllers/application_controller.rb", " filter_parameter :password\n" + # + # inject_into_class "app/controllers/application_controller.rb", ApplicationController do + # " filter_parameter :password\n" + # end + # + def inject_into_class(path, klass, *args, &block) + config = args.last.is_a?(Hash) ? args.pop : {} + config.merge!(:after => /class #{klass}\n|class #{klass} .*\n/) + inject_into_file(path, *(args << config), &block) + end + + # Run a regular expression replacement on a file. + # + # ==== Parameters + # path:: path of the file to be changed + # flag:: the regexp or string to be replaced + # replacement:: the replacement, can be also given as a block + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # gsub_file 'app/controllers/application_controller.rb', /#\s*(filter_parameter_logging :password)/, '\1' + # + # gsub_file 'README', /rake/, :green do |match| + # match << " no more. Use thor!" + # end + # + def gsub_file(path, flag, *args, &block) + return unless behavior == :invoke + config = args.last.is_a?(Hash) ? args.pop : {} + + path = File.expand_path(path, destination_root) + say_status :gsub, relative_to_original_destination_root(path), config.fetch(:verbose, true) + + unless options[:pretend] + content = File.binread(path) + content.gsub!(flag, *args, &block) + File.open(path, 'wb') { |file| file.write(content) } + end + end + + # Removes a file at the given location. + # + # ==== Parameters + # path:: path of the file to be changed + # config:: give :verbose => false to not log the status. + # + # ==== Example + # + # remove_file 'README' + # remove_file 'app/controllers/application_controller.rb' + # + def remove_file(path, config={}) + return unless behavior == :invoke + path = File.expand_path(path, destination_root) + + say_status :remove, relative_to_original_destination_root(path), config.fetch(:verbose, true) + ::FileUtils.rm_rf(path) if !options[:pretend] && File.exists?(path) + end + alias :remove_dir :remove_file + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/inject_into_file.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/inject_into_file.rb new file mode 100755 index 00000000..812c2e7d --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/actions/inject_into_file.rb @@ -0,0 +1,104 @@ +require 'thor/actions/empty_directory' + +class Thor + module Actions + + # Injects the given content into a file. Different from gsub_file, this + # method is reversible. + # + # ==== Parameters + # destination:: Relative path to the destination root + # data:: Data to add to the file. Can be given as a block. + # config:: give :verbose => false to not log the status and the flag + # for injection (:after or :before) or :force => true for + # insert two or more times the same content. + # + # ==== Examples + # + # inject_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n" + # + # inject_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do + # gems = ask "Which gems would you like to add?" + # gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n") + # end + # + def inject_into_file(destination, *args, &block) + if block_given? + data, config = block, args.shift + else + data, config = args.shift, args.shift + end + action InjectIntoFile.new(self, destination, data, config) + end + + class InjectIntoFile < EmptyDirectory #:nodoc: + attr_reader :replacement, :flag, :behavior + + def initialize(base, destination, data, config) + super(base, destination, { :verbose => true }.merge(config)) + + @behavior, @flag = if @config.key?(:after) + [:after, @config.delete(:after)] + else + [:before, @config.delete(:before)] + end + + @replacement = data.is_a?(Proc) ? data.call : data + @flag = Regexp.escape(@flag) unless @flag.is_a?(Regexp) + end + + def invoke! + say_status :invoke + + content = if @behavior == :after + '\0' + replacement + else + replacement + '\0' + end + + replace!(/#{flag}/, content, config[:force]) + end + + def revoke! + say_status :revoke + + regexp = if @behavior == :after + content = '\1\2' + /(#{flag})(.*)(#{Regexp.escape(replacement)})/m + else + content = '\2\3' + /(#{Regexp.escape(replacement)})(.*)(#{flag})/m + end + + replace!(regexp, content, true) + end + + protected + + def say_status(behavior) + status = if flag == /\A/ + behavior == :invoke ? :prepend : :unprepend + elsif flag == /\z/ + behavior == :invoke ? :append : :unappend + else + behavior == :invoke ? :inject : :deinject + end + + super(status, config[:verbose]) + end + + # Adds the content to the file. + # + def replace!(regexp, string, force) + unless base.options[:pretend] + content = File.binread(destination) + if force || !content.include?(replacement) + content.gsub!(regexp, string) + File.open(destination, 'wb') { |file| file.write(content) } + end + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb new file mode 100755 index 00000000..6412ace6 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb @@ -0,0 +1,556 @@ +require 'thor/core_ext/hash_with_indifferent_access' +require 'thor/core_ext/ordered_hash' +require 'thor/error' +require 'thor/shell' +require 'thor/invocation' +require 'thor/parser' +require 'thor/task' +require 'thor/util' + +class Thor + autoload :Actions, 'thor/actions' + autoload :RakeCompat, 'thor/rake_compat' + + # Shortcuts for help. + HELP_MAPPINGS = %w(-h -? --help -D) + + # Thor methods that should not be overwritten by the user. + THOR_RESERVED_WORDS = %w(invoke shell options behavior root destination_root relative_root + action add_file create_file in_root inside run run_ruby_script) + + module Base + attr_accessor :options + + # It receives arguments in an Array and two hashes, one for options and + # other for configuration. + # + # Notice that it does not check if all required arguments were supplied. + # It should be done by the parser. + # + # ==== Parameters + # args:: An array of objects. The objects are applied to their + # respective accessors declared with argument. + # + # options:: An options hash that will be available as self.options. + # The hash given is converted to a hash with indifferent + # access, magic predicates (options.skip?) and then frozen. + # + # config:: Configuration for this Thor class. + # + def initialize(args=[], options={}, config={}) + args = Thor::Arguments.parse(self.class.arguments, args) + args.each { |key, value| send("#{key}=", value) } + + parse_options = self.class.class_options + + if options.is_a?(Array) + task_options = config.delete(:task_options) # hook for start + parse_options = parse_options.merge(task_options) if task_options + array_options, hash_options = options, {} + else + array_options, hash_options = [], options + end + + opts = Thor::Options.new(parse_options, hash_options) + self.options = opts.parse(array_options) + opts.check_unknown! if self.class.check_unknown_options?(config) + end + + class << self + def included(base) #:nodoc: + base.send :extend, ClassMethods + base.send :include, Invocation + base.send :include, Shell + end + + # Returns the classes that inherits from Thor or Thor::Group. + # + # ==== Returns + # Array[Class] + # + def subclasses + @subclasses ||= [] + end + + # Returns the files where the subclasses are kept. + # + # ==== Returns + # Hash[path => Class] + # + def subclass_files + @subclass_files ||= Hash.new{ |h,k| h[k] = [] } + end + + # Whenever a class inherits from Thor or Thor::Group, we should track the + # class and the file on Thor::Base. This is the method responsable for it. + # + def register_klass_file(klass) #:nodoc: + file = caller[1].match(/(.*):\d+/)[1] + Thor::Base.subclasses << klass unless Thor::Base.subclasses.include?(klass) + + file_subclasses = Thor::Base.subclass_files[File.expand_path(file)] + file_subclasses << klass unless file_subclasses.include?(klass) + end + end + + module ClassMethods + attr_accessor :debugging + + def attr_reader(*) #:nodoc: + no_tasks { super } + end + + def attr_writer(*) #:nodoc: + no_tasks { super } + end + + def attr_accessor(*) #:nodoc: + no_tasks { super } + end + + # If you want to raise an error for unknown options, call check_unknown_options! + # This is disabled by default to allow dynamic invocations. + def check_unknown_options! + @check_unknown_options = true + end + + def check_unknown_options #:nodoc: + @check_unknown_options ||= from_superclass(:check_unknown_options, false) + end + + def check_unknown_options?(config) #:nodoc: + !!check_unknown_options + end + + # Adds an argument to the class and creates an attr_accessor for it. + # + # Arguments are different from options in several aspects. The first one + # is how they are parsed from the command line, arguments are retrieved + # from position: + # + # thor task NAME + # + # Instead of: + # + # thor task --name=NAME + # + # Besides, arguments are used inside your code as an accessor (self.argument), + # while options are all kept in a hash (self.options). + # + # Finally, arguments cannot have type :default or :boolean but can be + # optional (supplying :optional => :true or :required => false), although + # you cannot have a required argument after a non-required argument. If you + # try it, an error is raised. + # + # ==== Parameters + # name:: The name of the argument. + # options:: Described below. + # + # ==== Options + # :desc - Description for the argument. + # :required - If the argument is required or not. + # :optional - If the argument is optional or not. + # :type - The type of the argument, can be :string, :hash, :array, :numeric. + # :default - Default value for this argument. It cannot be required and have default values. + # :banner - String to show on usage notes. + # + # ==== Errors + # ArgumentError:: Raised if you supply a required argument after a non required one. + # + def argument(name, options={}) + is_thor_reserved_word?(name, :argument) + no_tasks { attr_accessor name } + + required = if options.key?(:optional) + !options[:optional] + elsif options.key?(:required) + options[:required] + else + options[:default].nil? + end + + remove_argument name + + arguments.each do |argument| + next if argument.required? + raise ArgumentError, "You cannot have #{name.to_s.inspect} as required argument after " << + "the non-required argument #{argument.human_name.inspect}." + end if required + + arguments << Thor::Argument.new(name, options[:desc], required, options[:type], + options[:default], options[:banner]) + end + + # Returns this class arguments, looking up in the ancestors chain. + # + # ==== Returns + # Array[Thor::Argument] + # + def arguments + @arguments ||= from_superclass(:arguments, []) + end + + # Adds a bunch of options to the set of class options. + # + # class_options :foo => false, :bar => :required, :baz => :string + # + # If you prefer more detailed declaration, check class_option. + # + # ==== Parameters + # Hash[Symbol => Object] + # + def class_options(options=nil) + @class_options ||= from_superclass(:class_options, {}) + build_options(options, @class_options) if options + @class_options + end + + # Adds an option to the set of class options + # + # ==== Parameters + # name:: The name of the argument. + # options:: Described below. + # + # ==== Options + # :desc - Description for the argument. + # :required - If the argument is required or not. + # :default - Default value for this argument. + # :group - The group for this options. Use by class options to output options in different levels. + # :aliases - Aliases for this option. + # :type - The type of the argument, can be :string, :hash, :array, :numeric or :boolean. + # :banner - String to show on usage notes. + # + def class_option(name, options={}) + build_option(name, options, class_options) + end + + # Removes a previous defined argument. If :undefine is given, undefine + # accessors as well. + # + # ==== Paremeters + # names:: Arguments to be removed + # + # ==== Examples + # + # remove_argument :foo + # remove_argument :foo, :bar, :baz, :undefine => true + # + def remove_argument(*names) + options = names.last.is_a?(Hash) ? names.pop : {} + + names.each do |name| + arguments.delete_if { |a| a.name == name.to_s } + undef_method name, "#{name}=" if options[:undefine] + end + end + + # Removes a previous defined class option. + # + # ==== Paremeters + # names:: Class options to be removed + # + # ==== Examples + # + # remove_class_option :foo + # remove_class_option :foo, :bar, :baz + # + def remove_class_option(*names) + names.each do |name| + class_options.delete(name) + end + end + + # Defines the group. This is used when thor list is invoked so you can specify + # that only tasks from a pre-defined group will be shown. Defaults to standard. + # + # ==== Parameters + # name + # + def group(name=nil) + case name + when nil + @group ||= from_superclass(:group, 'standard') + else + @group = name.to_s + end + end + + # Returns the tasks for this Thor class. + # + # ==== Returns + # OrderedHash:: An ordered hash with tasks names as keys and Thor::Task + # objects as values. + # + def tasks + @tasks ||= Thor::CoreExt::OrderedHash.new + end + + # Returns the tasks for this Thor class and all subclasses. + # + # ==== Returns + # OrderedHash:: An ordered hash with tasks names as keys and Thor::Task + # objects as values. + # + def all_tasks + @all_tasks ||= from_superclass(:all_tasks, Thor::CoreExt::OrderedHash.new) + @all_tasks.merge(tasks) + end + + # Removes a given task from this Thor class. This is usually done if you + # are inheriting from another class and don't want it to be available + # anymore. + # + # By default it only remove the mapping to the task. But you can supply + # :undefine => true to undefine the method from the class as well. + # + # ==== Parameters + # name:: The name of the task to be removed + # options:: You can give :undefine => true if you want tasks the method + # to be undefined from the class as well. + # + def remove_task(*names) + options = names.last.is_a?(Hash) ? names.pop : {} + + names.each do |name| + tasks.delete(name.to_s) + all_tasks.delete(name.to_s) + undef_method name if options[:undefine] + end + end + + # All methods defined inside the given block are not added as tasks. + # + # So you can do: + # + # class MyScript < Thor + # no_tasks do + # def this_is_not_a_task + # end + # end + # end + # + # You can also add the method and remove it from the task list: + # + # class MyScript < Thor + # def this_is_not_a_task + # end + # remove_task :this_is_not_a_task + # end + # + def no_tasks + @no_tasks = true + yield + ensure + @no_tasks = false + end + + # Sets the namespace for the Thor or Thor::Group class. By default the + # namespace is retrieved from the class name. If your Thor class is named + # Scripts::MyScript, the help method, for example, will be called as: + # + # thor scripts:my_script -h + # + # If you change the namespace: + # + # namespace :my_scripts + # + # You change how your tasks are invoked: + # + # thor my_scripts -h + # + # Finally, if you change your namespace to default: + # + # namespace :default + # + # Your tasks can be invoked with a shortcut. Instead of: + # + # thor :my_task + # + def namespace(name=nil) + case name + when nil + @namespace ||= Thor::Util.namespace_from_thor_class(self) + else + @namespace = name.to_s + end + end + + # Parses the task and options from the given args, instantiate the class + # and invoke the task. This method is used when the arguments must be parsed + # from an array. If you are inside Ruby and want to use a Thor class, you + # can simply initialize it: + # + # script = MyScript.new(args, options, config) + # script.invoke(:task, first_arg, second_arg, third_arg) + # + def start(given_args=ARGV, config={}) + self.debugging = given_args.delete("--debug") + config[:shell] ||= Thor::Base.shell.new + dispatch(nil, given_args.dup, nil, config) + rescue Thor::Error => e + debugging ? (raise e) : config[:shell].error(e.message) + exit(1) if exit_on_failure? + end + + def handle_no_task_error(task) #:nodoc: + if $thor_runner + raise UndefinedTaskError, "Could not find task #{task.inspect} in #{namespace.inspect} namespace." + else + raise UndefinedTaskError, "Could not find task #{task.inspect}." + end + end + + def handle_argument_error(task, error) #:nodoc: + raise InvocationError, "#{task.name.inspect} was called incorrectly. Call as #{self.banner(task).inspect}." + end + + protected + + # Prints the class options per group. If an option does not belong to + # any group, it's printed as Class option. + # + def class_options_help(shell, groups={}) #:nodoc: + # Group options by group + class_options.each do |_, value| + groups[value.group] ||= [] + groups[value.group] << value + end + + # Deal with default group + global_options = groups.delete(nil) || [] + print_options(shell, global_options) + + # Print all others + groups.each do |group_name, options| + print_options(shell, options, group_name) + end + end + + # Receives a set of options and print them. + def print_options(shell, options, group_name=nil) + return if options.empty? + + list = [] + padding = options.collect{ |o| o.aliases.size }.max.to_i * 4 + + options.each do |option| + item = [ option.usage(padding) ] + item.push(option.description ? "# #{option.description}" : "") + + list << item + list << [ "", "# Default: #{option.default}" ] if option.show_default? + end + + shell.say(group_name ? "#{group_name} options:" : "Options:") + shell.print_table(list, :ident => 2) + shell.say "" + end + + # Raises an error if the word given is a Thor reserved word. + def is_thor_reserved_word?(word, type) #:nodoc: + return false unless THOR_RESERVED_WORDS.include?(word.to_s) + raise "#{word.inspect} is a Thor reserved word and cannot be defined as #{type}" + end + + # Build an option and adds it to the given scope. + # + # ==== Parameters + # name:: The name of the argument. + # options:: Described in both class_option and method_option. + def build_option(name, options, scope) #:nodoc: + scope[name] = Thor::Option.new(name, options[:desc], options[:required], + options[:type], options[:default], options[:banner], + options[:lazy_default], options[:group], options[:aliases]) + end + + # Receives a hash of options, parse them and add to the scope. This is a + # fast way to set a bunch of options: + # + # build_options :foo => true, :bar => :required, :baz => :string + # + # ==== Parameters + # Hash[Symbol => Object] + def build_options(options, scope) #:nodoc: + options.each do |key, value| + scope[key] = Thor::Option.parse(key, value) + end + end + + # Finds a task with the given name. If the task belongs to the current + # class, just return it, otherwise dup it and add the fresh copy to the + # current task hash. + def find_and_refresh_task(name) #:nodoc: + task = if task = tasks[name.to_s] + task + elsif task = all_tasks[name.to_s] + tasks[name.to_s] = task.clone + else + raise ArgumentError, "You supplied :for => #{name.inspect}, but the task #{name.inspect} could not be found." + end + end + + # Everytime someone inherits from a Thor class, register the klass + # and file into baseclass. + def inherited(klass) + Thor::Base.register_klass_file(klass) + end + + # Fire this callback whenever a method is added. Added methods are + # tracked as tasks by invoking the create_task method. + def method_added(meth) + meth = meth.to_s + + if meth == "initialize" + initialize_added + return + end + + # Return if it's not a public instance method + return unless public_instance_methods.include?(meth) || + public_instance_methods.include?(meth.to_sym) + + return if @no_tasks || !create_task(meth) + + is_thor_reserved_word?(meth, :task) + Thor::Base.register_klass_file(self) + end + + # Retrieves a value from superclass. If it reaches the baseclass, + # returns default. + def from_superclass(method, default=nil) + if self == baseclass || !superclass.respond_to?(method, true) + default + else + value = superclass.send(method) + value.dup if value + end + end + + # A flag that makes the process exit with status 1 if any error happens. + def exit_on_failure? + false + end + + # SIGNATURE: Sets the baseclass. This is where the superclass lookup + # finishes. + def baseclass #:nodoc: + end + + # SIGNATURE: Creates a new task if valid_task? is true. This method is + # called when a new method is added to the class. + def create_task(meth) #:nodoc: + end + + # SIGNATURE: Defines behavior when the initialize method is added to the + # class. + def initialize_added #:nodoc: + end + + # SIGNATURE: The hook invoked by start. + def dispatch(task, given_args, given_opts, config) #:nodoc: + raise NotImplementedError + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/file_binary_read.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/file_binary_read.rb new file mode 100755 index 00000000..d6af7e44 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/file_binary_read.rb @@ -0,0 +1,9 @@ +class File #:nodoc: + + unless File.respond_to?(:binread) + def self.binread(file) + File.open(file, 'rb') { |f| f.read } + end + end + +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb new file mode 100755 index 00000000..40d201d9 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb @@ -0,0 +1,75 @@ +class Thor + module CoreExt #:nodoc: + + # A hash with indifferent access and magic predicates. + # + # hash = Thor::CoreExt::HashWithIndifferentAccess.new 'foo' => 'bar', 'baz' => 'bee', 'force' => true + # + # hash[:foo] #=> 'bar' + # hash['foo'] #=> 'bar' + # hash.foo? #=> true + # + class HashWithIndifferentAccess < ::Hash #:nodoc: + + def initialize(hash={}) + super() + hash.each do |key, value| + self[convert_key(key)] = value + end + end + + def [](key) + super(convert_key(key)) + end + + def []=(key, value) + super(convert_key(key), value) + end + + def delete(key) + super(convert_key(key)) + end + + def values_at(*indices) + indices.collect { |key| self[convert_key(key)] } + end + + def merge(other) + dup.merge!(other) + end + + def merge!(other) + other.each do |key, value| + self[convert_key(key)] = value + end + self + end + + protected + + def convert_key(key) + key.is_a?(Symbol) ? key.to_s : key + end + + # Magic predicates. For instance: + # + # options.force? # => !!options['force'] + # options.shebang # => "/usr/lib/local/ruby" + # options.test_framework?(:rspec) # => options[:test_framework] == :rspec + # + def method_missing(method, *args, &block) + method = method.to_s + if method =~ /^(\w+)\?$/ + if args.empty? + !!self[$1] + else + self[$1] == args.first + end + else + self[method] + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/ordered_hash.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/ordered_hash.rb new file mode 100755 index 00000000..27fea5bb --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/core_ext/ordered_hash.rb @@ -0,0 +1,100 @@ +class Thor + module CoreExt #:nodoc: + + if RUBY_VERSION >= '1.9' + class OrderedHash < ::Hash + end + else + # This class is based on the Ruby 1.9 ordered hashes. + # + # It keeps the semantics and most of the efficiency of normal hashes + # while also keeping track of the order in which elements were set. + # + class OrderedHash #:nodoc: + include Enumerable + + Node = Struct.new(:key, :value, :next, :prev) + + def initialize + @hash = {} + end + + def [](key) + @hash[key] && @hash[key].value + end + + def []=(key, value) + if node = @hash[key] + node.value = value + else + node = Node.new(key, value) + + if @first.nil? + @first = @last = node + else + node.prev = @last + @last.next = node + @last = node + end + end + + @hash[key] = node + value + end + + def delete(key) + if node = @hash[key] + prev_node = node.prev + next_node = node.next + + next_node.prev = prev_node if next_node + prev_node.next = next_node if prev_node + + @first = next_node if @first == node + @last = prev_node if @last == node + + value = node.value + end + + @hash.delete(key) + value + end + + def keys + self.map { |k, v| k } + end + + def values + self.map { |k, v| v } + end + + def each + return unless @first + yield [@first.key, @first.value] + node = @first + yield [node.key, node.value] while node = node.next + self + end + + def merge(other) + hash = self.class.new + + self.each do |key, value| + hash[key] = value + end + + other.each do |key, value| + hash[key] = value + end + + hash + end + + def empty? + @hash.empty? + end + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/error.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/error.rb new file mode 100755 index 00000000..9746b882 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/error.rb @@ -0,0 +1,30 @@ +class Thor + # Thor::Error is raised when it's caused by wrong usage of thor classes. Those + # errors have their backtrace supressed and are nicely shown to the user. + # + # Errors that are caused by the developer, like declaring a method which + # overwrites a thor keyword, it SHOULD NOT raise a Thor::Error. This way, we + # ensure that developer errors are shown with full backtrace. + # + class Error < StandardError + end + + # Raised when a task was not found. + # + class UndefinedTaskError < Error + end + + # Raised when a task was found, but not invoked properly. + # + class InvocationError < Error + end + + class UnknownArgumentError < Error + end + + class RequiredArgumentMissingError < InvocationError + end + + class MalformattedArgumentError < InvocationError + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb new file mode 100755 index 00000000..6315dd42 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb @@ -0,0 +1,168 @@ +class Thor + module Invocation + def self.included(base) #:nodoc: + base.extend ClassMethods + end + + module ClassMethods + # This method is responsible for receiving a name and find the proper + # class and task for it. The key is an optional parameter which is + # available only in class methods invocations (i.e. in Thor::Group). + def prepare_for_invocation(key, name) #:nodoc: + case name + when Symbol, String + Thor::Util.find_class_and_task_by_namespace(name.to_s, !key) + else + name + end + end + end + + # Make initializer aware of invocations and the initialization args. + def initialize(args=[], options={}, config={}, &block) #:nodoc: + @_invocations = config[:invocations] || Hash.new { |h,k| h[k] = [] } + @_initializer = [ args, options, config ] + super + end + + # Receives a name and invokes it. The name can be a string (either "task" or + # "namespace:task"), a Thor::Task, a Class or a Thor instance. If the task + # cannot be guessed by name, it can also be supplied as second argument. + # + # You can also supply the arguments, options and configuration values for + # the task to be invoked, if none is given, the same values used to + # initialize the invoker are used to initialize the invoked. + # + # When no name is given, it will invoke the default task of the current class. + # + # ==== Examples + # + # class A < Thor + # def foo + # invoke :bar + # invoke "b:hello", ["José"] + # end + # + # def bar + # invoke "b:hello", ["José"] + # end + # end + # + # class B < Thor + # def hello(name) + # puts "hello #{name}" + # end + # end + # + # You can notice that the method "foo" above invokes two tasks: "bar", + # which belongs to the same class and "hello" which belongs to the class B. + # + # By using an invocation system you ensure that a task is invoked only once. + # In the example above, invoking "foo" will invoke "b:hello" just once, even + # if it's invoked later by "bar" method. + # + # When class A invokes class B, all arguments used on A initialization are + # supplied to B. This allows lazy parse of options. Let's suppose you have + # some rspec tasks: + # + # class Rspec < Thor::Group + # class_option :mock_framework, :type => :string, :default => :rr + # + # def invoke_mock_framework + # invoke "rspec:#{options[:mock_framework]}" + # end + # end + # + # As you noticed, it invokes the given mock framework, which might have its + # own options: + # + # class Rspec::RR < Thor::Group + # class_option :style, :type => :string, :default => :mock + # end + # + # Since it's not rspec concern to parse mock framework options, when RR + # is invoked all options are parsed again, so RR can extract only the options + # that it's going to use. + # + # If you want Rspec::RR to be initialized with its own set of options, you + # have to do that explicitely: + # + # invoke "rspec:rr", [], :style => :foo + # + # Besides giving an instance, you can also give a class to invoke: + # + # invoke Rspec::RR, [], :style => :foo + # + def invoke(name=nil, *args) + if name.nil? + warn "[Thor] Calling invoke() without argument is deprecated. Please use invoke_all instead.\n#{caller.join("\n")}" + return invoke_all + end + + args.unshift(nil) if Array === args.first || NilClass === args.first + task, args, opts, config = args + + klass, task = _retrieve_class_and_task(name, task) + raise "Expected Thor class, got #{klass}" unless klass <= Thor::Base + + args, opts, config = _parse_initialization_options(args, opts, config) + klass.send(:dispatch, task, args, opts, config) + end + + # Invoke the given task if the given args. + def invoke_task(task, *args) #:nodoc: + current = @_invocations[self.class] + + unless current.include?(task.name) + current << task.name + task.run(self, *args) + end + end + + # Invoke all tasks for the current instance. + def invoke_all #:nodoc: + self.class.all_tasks.map { |_, task| invoke_task(task) } + end + + # Invokes using shell padding. + def invoke_with_padding(*args) + with_padding { invoke(*args) } + end + + protected + + # Configuration values that are shared between invocations. + def _shared_configuration #:nodoc: + { :invocations => @_invocations } + end + + # This method simply retrieves the class and task to be invoked. + # If the name is nil or the given name is a task in the current class, + # use the given name and return self as class. Otherwise, call + # prepare_for_invocation in the current class. + def _retrieve_class_and_task(name, sent_task=nil) #:nodoc: + case + when name.nil? + [self.class, nil] + when self.class.all_tasks[name.to_s] + [self.class, name.to_s] + else + klass, task = self.class.prepare_for_invocation(nil, name) + [klass, task || sent_task] + end + end + + # Initialize klass using values stored in the @_initializer. + def _parse_initialization_options(args, opts, config) #:nodoc: + stored_args, stored_opts, stored_config = @_initializer + + args ||= stored_args.dup + opts ||= stored_opts.dup + + config ||= {} + config = stored_config.merge(_shared_configuration).merge!(config) + + [ args, opts, config ] + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser.rb new file mode 100755 index 00000000..57a3f6e1 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser.rb @@ -0,0 +1,4 @@ +require 'thor/parser/argument' +require 'thor/parser/arguments' +require 'thor/parser/option' +require 'thor/parser/options' diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/argument.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/argument.rb new file mode 100755 index 00000000..68c2e086 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/argument.rb @@ -0,0 +1,67 @@ +class Thor + class Argument #:nodoc: + VALID_TYPES = [ :numeric, :hash, :array, :string ] + + attr_reader :name, :description, :required, :type, :default, :banner + alias :human_name :name + + def initialize(name, description=nil, required=true, type=:string, default=nil, banner=nil) + class_name = self.class.name.split("::").last + + raise ArgumentError, "#{class_name} name can't be nil." if name.nil? + raise ArgumentError, "Type :#{type} is not valid for #{class_name.downcase}s." if type && !valid_type?(type) + + @name = name.to_s + @description = description + @required = required || false + @type = (type || :string).to_sym + @default = default + @banner = banner || default_banner + + validate! # Trigger specific validations + end + + def usage + required? ? banner : "[#{banner}]" + end + + def required? + required + end + + def show_default? + case default + when Array, String, Hash + !default.empty? + else + default + end + end + + protected + + def validate! + raise ArgumentError, "An argument cannot be required and have default value." if required? && !default.nil? + end + + def valid_type?(type) + self.class::VALID_TYPES.include?(type.to_sym) + end + + def default_banner + case type + when :boolean + nil + when :string, :default + human_name.upcase + when :numeric + "N" + when :hash + "key:value" + when :array + "one two three" + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/arguments.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/arguments.rb new file mode 100755 index 00000000..07850836 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/arguments.rb @@ -0,0 +1,161 @@ +class Thor + class Arguments #:nodoc: + NUMERIC = /(\d*\.\d+|\d+)/ + + # Receives an array of args and returns two arrays, one with arguments + # and one with switches. + # + def self.split(args) + arguments = [] + + args.each do |item| + break if item =~ /^-/ + arguments << item + end + + return arguments, args[Range.new(arguments.size, -1)] + end + + def self.parse(*args) + to_parse = args.pop + new(*args).parse(to_parse) + end + + # Takes an array of Thor::Argument objects. + # + def initialize(arguments=[]) + @assigns, @non_assigned_required = {}, [] + @switches = arguments + + arguments.each do |argument| + if argument.default + @assigns[argument.human_name] = argument.default + elsif argument.required? + @non_assigned_required << argument + end + end + end + + def parse(args) + @pile = args.dup + + @switches.each do |argument| + break unless peek + @non_assigned_required.delete(argument) + @assigns[argument.human_name] = send(:"parse_#{argument.type}", argument.human_name) + end + + check_requirement! + @assigns + end + + private + + def no_or_skip?(arg) + arg =~ /^--(no|skip)-([-\w]+)$/ + $2 + end + + def last? + @pile.empty? + end + + def peek + @pile.first + end + + def shift + @pile.shift + end + + def unshift(arg) + unless arg.kind_of?(Array) + @pile.unshift(arg) + else + @pile = arg + @pile + end + end + + def current_is_value? + peek && peek.to_s !~ /^-/ + end + + # Runs through the argument array getting strings that contains ":" and + # mark it as a hash: + # + # [ "name:string", "age:integer" ] + # + # Becomes: + # + # { "name" => "string", "age" => "integer" } + # + def parse_hash(name) + return shift if peek.is_a?(Hash) + hash = {} + + while current_is_value? && peek.include?(?:) + key, value = shift.split(':') + hash[key] = value + end + hash + end + + # Runs through the argument array getting all strings until no string is + # found or a switch is found. + # + # ["a", "b", "c"] + # + # And returns it as an array: + # + # ["a", "b", "c"] + # + def parse_array(name) + return shift if peek.is_a?(Array) + array = [] + + while current_is_value? + array << shift + end + array + end + + # Check if the peek is numeric format and return a Float or Integer. + # Otherwise raises an error. + # + def parse_numeric(name) + return shift if peek.is_a?(Numeric) + + unless peek =~ NUMERIC && $& == peek + raise MalformattedArgumentError, "Expected numeric value for '#{name}'; got #{peek.inspect}" + end + + $&.index('.') ? shift.to_f : shift.to_i + end + + # Parse string: + # for --string-arg, just return the current value in the pile + # for --no-string-arg, nil + # + def parse_string(name) + if no_or_skip?(name) + nil + else + shift + end + end + + # Raises an error if @non_assigned_required array is not empty. + # + def check_requirement! + unless @non_assigned_required.empty? + names = @non_assigned_required.map do |o| + o.respond_to?(:switch_name) ? o.switch_name : o.human_name + end.join("', '") + + class_name = self.class.name.split('::').last.downcase + raise RequiredArgumentMissingError, "No value provided for required #{class_name} '#{names}'" + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/option.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/option.rb new file mode 100755 index 00000000..496756db --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/option.rb @@ -0,0 +1,120 @@ +class Thor + class Option < Argument #:nodoc: + attr_reader :aliases, :group, :lazy_default + + VALID_TYPES = [:boolean, :numeric, :hash, :array, :string] + + def initialize(name, description=nil, required=nil, type=nil, default=nil, banner=nil, lazy_default=nil, group=nil, aliases=nil) + super(name, description, required, type, default, banner) + @lazy_default = lazy_default + @group = group.to_s.capitalize if group + @aliases = [*aliases].compact + end + + # This parse quick options given as method_options. It makes several + # assumptions, but you can be more specific using the option method. + # + # parse :foo => "bar" + # #=> Option foo with default value bar + # + # parse [:foo, :baz] => "bar" + # #=> Option foo with default value bar and alias :baz + # + # parse :foo => :required + # #=> Required option foo without default value + # + # parse :foo => 2 + # #=> Option foo with default value 2 and type numeric + # + # parse :foo => :numeric + # #=> Option foo without default value and type numeric + # + # parse :foo => true + # #=> Option foo with default value true and type boolean + # + # The valid types are :boolean, :numeric, :hash, :array and :string. If none + # is given a default type is assumed. This default type accepts arguments as + # string (--foo=value) or booleans (just --foo). + # + # By default all options are optional, unless :required is given. + # + def self.parse(key, value) + if key.is_a?(Array) + name, *aliases = key + else + name, aliases = key, [] + end + + name = name.to_s + default = value + + type = case value + when Symbol + default = nil + if VALID_TYPES.include?(value) + value + elsif required = (value == :required) + :string + end + when TrueClass, FalseClass + :boolean + when Numeric + :numeric + when Hash, Array, String + value.class.name.downcase.to_sym + end + + self.new(name.to_s, nil, required, type, default, nil, nil, nil, aliases) + end + + def switch_name + @switch_name ||= dasherized? ? name : dasherize(name) + end + + def human_name + @human_name ||= dasherized? ? undasherize(name) : name + end + + def usage(padding=0) + sample = if banner && !banner.to_s.empty? + "#{switch_name}=#{banner}" + else + switch_name + end + + sample = "[#{sample}]" unless required? + + if aliases.empty? + (" " * padding) << sample + else + "#{aliases.join(', ')}, #{sample}" + end + end + + VALID_TYPES.each do |type| + class_eval <<-RUBY, __FILE__, __LINE__ + 1 + def #{type}? + self.type == #{type.inspect} + end + RUBY + end + + protected + + def validate! + raise ArgumentError, "An option cannot be boolean and required." if boolean? && required? + end + + def dasherized? + name.index('-') == 0 + end + + def undasherize(str) + str.sub(/^-{1,2}/, '') + end + + def dasherize(str) + (str.length > 1 ? "--" : "-") + str.gsub('_', '-') + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/options.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/options.rb new file mode 100755 index 00000000..2315b136 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/parser/options.rb @@ -0,0 +1,174 @@ +class Thor + # This is a modified version of Daniel Berger's Getopt::Long class, licensed + # under Ruby's license. + # + class Options < Arguments #:nodoc: + LONG_RE = /^(--\w+(?:-\w+)*)$/ + SHORT_RE = /^(-[a-z])$/i + EQ_RE = /^(--\w+(?:-\w+)*|-[a-z])=(.*)$/i + SHORT_SQ_RE = /^-([a-z]{2,})$/i # Allow either -x -v or -xv style for single char args + SHORT_NUM = /^(-[a-z])#{NUMERIC}$/i + + # Receives a hash and makes it switches. + def self.to_switches(options) + options.map do |key, value| + case value + when true + "--#{key}" + when Array + "--#{key} #{value.map{ |v| v.inspect }.join(' ')}" + when Hash + "--#{key} #{value.map{ |k,v| "#{k}:#{v}" }.join(' ')}" + when nil, false + "" + else + "--#{key} #{value.inspect}" + end + end.join(" ") + end + + # Takes a hash of Thor::Option and a hash with defaults. + def initialize(hash_options={}, defaults={}) + options = hash_options.values + super(options) + + # Add defaults + defaults.each do |key, value| + @assigns[key.to_s] = value + @non_assigned_required.delete(hash_options[key]) + end + + @shorts, @switches, @unknown = {}, {}, [] + + options.each do |option| + @switches[option.switch_name] = option + + option.aliases.each do |short| + @shorts[short.to_s] ||= option.switch_name + end + end + end + + def parse(args) + @pile = args.dup + + while peek + if current_is_switch? + case shift + when SHORT_SQ_RE + unshift($1.split('').map { |f| "-#{f}" }) + next + when EQ_RE, SHORT_NUM + unshift($2) + switch = $1 + when LONG_RE, SHORT_RE + switch = $1 + end + + switch = normalize_switch(switch) + option = switch_option(switch) + @assigns[option.human_name] = parse_peek(switch, option) + elsif current_is_switch_formatted? + @unknown << shift + else + shift + end + end + + check_requirement! + + assigns = Thor::CoreExt::HashWithIndifferentAccess.new(@assigns) + assigns.freeze + assigns + end + + def check_unknown! + raise UnknownArgumentError, "Unknown switches '#{@unknown.join(', ')}'" unless @unknown.empty? + end + + protected + + # Returns true if the current value in peek is a registered switch. + # + def current_is_switch? + case peek + when LONG_RE, SHORT_RE, EQ_RE, SHORT_NUM + switch?($1) + when SHORT_SQ_RE + $1.split('').any? { |f| switch?("-#{f}") } + end + end + + def switch_formatted?(arg) + case arg + when LONG_RE, SHORT_RE, EQ_RE, SHORT_NUM, SHORT_SQ_RE + true + else + false + end + end + + def current_is_switch_formatted? + switch_formatted? peek + end + + def switch?(arg) + switch_option(arg) || @shorts.key?(arg) + end + + def switch_option(arg) + if match = no_or_skip?(arg) + @switches[arg] || @switches["--#{match}"] + else + @switches[arg] + end + end + + # Check if the given argument is actually a shortcut. + # + def normalize_switch(arg) + @shorts.key?(arg) ? @shorts[arg] : arg + end + + # Parse boolean values which can be given as --foo=true, --foo or --no-foo. + # + def parse_boolean(switch) + if current_is_value? + if ["true", "TRUE", "t", "T", true].include?(peek) + shift + true + elsif ["false", "FALSE", "f", "F", false].include?(peek) + shift + false + else + true + end + else + @switches.key?(switch) || !no_or_skip?(switch) + end + end + + # Parse the value at the peek analyzing if it requires an input or not. + # + def parse_peek(switch, option) + if current_is_switch_formatted? || last? + if option.boolean? + # No problem for boolean types + elsif no_or_skip?(switch) + return nil # User set value to nil + elsif option.string? && !option.required? + # Return the default if there is one, else the human name + return option.lazy_default || option.default || option.human_name + elsif option.lazy_default + return option.lazy_default + else + raise MalformattedArgumentError, "No value provided for option '#{switch}'" + end + end + + @non_assigned_required.delete(option) + send(:"parse_#{option.type}", switch) + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell.rb new file mode 100755 index 00000000..b52c9da2 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell.rb @@ -0,0 +1,88 @@ +require 'rbconfig' + +class Thor + module Base + # Returns the shell used in all Thor classes. If you are in a Unix platform + # it will use a colored log, otherwise it will use a basic one without color. + # + def self.shell + @shell ||= if ENV['THOR_SHELL'] && ENV['THOR_SHELL'].size > 0 + Thor::Shell.const_get(ENV['THOR_SHELL']) + elsif RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ + Thor::Shell::Basic + else + Thor::Shell::Color + end + end + + # Sets the shell used in all Thor classes. + # + def self.shell=(klass) + @shell = klass + end + end + + module Shell + SHELL_DELEGATED_METHODS = [:ask, :yes?, :no?, :say, :say_status, :print_table] + + autoload :Basic, 'thor/shell/basic' + autoload :Color, 'thor/shell/color' + autoload :HTML, 'thor/shell/html' + + # Add shell to initialize config values. + # + # ==== Configuration + # shell:: An instance of the shell to be used. + # + # ==== Examples + # + # class MyScript < Thor + # argument :first, :type => :numeric + # end + # + # MyScript.new [1.0], { :foo => :bar }, :shell => Thor::Shell::Basic.new + # + def initialize(args=[], options={}, config={}) + super + self.shell = config[:shell] + self.shell.base ||= self if self.shell.respond_to?(:base) + end + + # Holds the shell for the given Thor instance. If no shell is given, + # it gets a default shell from Thor::Base.shell. + def shell + @shell ||= Thor::Base.shell.new + end + + # Sets the shell for this thor class. + def shell=(shell) + @shell = shell + end + + # Common methods that are delegated to the shell. + SHELL_DELEGATED_METHODS.each do |method| + module_eval <<-METHOD, __FILE__, __LINE__ + def #{method}(*args) + shell.#{method}(*args) + end + METHOD + end + + # Yields the given block with padding. + def with_padding + shell.padding += 1 + yield + ensure + shell.padding -= 1 + end + + protected + + # Allow shell to be shared between invocations. + # + def _shared_configuration #:nodoc: + super.merge!(:shell => self.shell) + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/basic.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/basic.rb new file mode 100755 index 00000000..b227b5f4 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/basic.rb @@ -0,0 +1,275 @@ +require 'tempfile' + +class Thor + module Shell + class Basic + attr_accessor :base, :padding + + # Initialize base and padding to nil. + # + def initialize #:nodoc: + @base, @padding = nil, 0 + end + + # Sets the output padding, not allowing less than zero values. + # + def padding=(value) + @padding = [0, value].max + end + + # Ask something to the user and receives a response. + # + # ==== Example + # ask("What is your name?") + # + def ask(statement, color=nil) + say("#{statement} ", color) + $stdin.gets.strip + end + + # Say (print) something to the user. If the sentence ends with a whitespace + # or tab character, a new line is not appended (print + flush). Otherwise + # are passed straight to puts (behavior got from Highline). + # + # ==== Example + # say("I know you knew that.") + # + def say(message="", color=nil, force_new_line=(message.to_s !~ /( |\t)$/)) + message = message.to_s + message = set_color(message, color) if color + + spaces = " " * padding + + if force_new_line + $stdout.puts(spaces + message) + else + $stdout.print(spaces + message) + end + $stdout.flush + end + + # Say a status with the given color and appends the message. Since this + # method is used frequently by actions, it allows nil or false to be given + # in log_status, avoiding the message from being shown. If a Symbol is + # given in log_status, it's used as the color. + # + def say_status(status, message, log_status=true) + return if quiet? || log_status == false + spaces = " " * (padding + 1) + color = log_status.is_a?(Symbol) ? log_status : :green + + status = status.to_s.rjust(12) + status = set_color status, color, true if color + + $stdout.puts "#{status}#{spaces}#{message}" + $stdout.flush + end + + # Make a question the to user and returns true if the user replies "y" or + # "yes". + # + def yes?(statement, color=nil) + ask(statement, color) =~ is?(:yes) + end + + # Make a question the to user and returns true if the user replies "n" or + # "no". + # + def no?(statement, color=nil) + !yes?(statement, color) + end + + # Prints a table. + # + # ==== Parameters + # Array[Array[String, String, ...]] + # + # ==== Options + # ident:: Indent the first column by ident value. + # colwidth:: Force the first column to colwidth spaces wide. + # + def print_table(table, options={}) + return if table.empty? + + formats, ident, colwidth = [], options[:ident].to_i, options[:colwidth] + options[:truncate] = terminal_width if options[:truncate] == true + + formats << "%-#{colwidth + 2}s" if colwidth + start = colwidth ? 1 : 0 + + start.upto(table.first.length - 2) do |i| + maxima ||= table.max{|a,b| a[i].size <=> b[i].size }[i].size + formats << "%-#{maxima + 2}s" + end + + formats[0] = formats[0].insert(0, " " * ident) + formats << "%s" + + table.each do |row| + sentence = "" + + row.each_with_index do |column, i| + sentence << formats[i] % column.to_s + end + + sentence = truncate(sentence, options[:truncate]) if options[:truncate] + $stdout.puts sentence + end + end + + # Prints a long string, word-wrapping the text to the current width of the + # terminal display. Ideal for printing heredocs. + # + # ==== Parameters + # String + # + # ==== Options + # ident:: Indent each line of the printed paragraph by ident value. + # + def print_wrapped(message, options={}) + ident = options[:ident] || 0 + width = terminal_width - ident + paras = message.split("\n\n") + + paras.map! do |unwrapped| + unwrapped.strip.gsub(/\n/, " ").squeeze(" "). + gsub(/.{1,#{width}}(?:\s|\Z)/){($& + 5.chr). + gsub(/\n\005/,"\n").gsub(/\005/,"\n")} + end + + paras.each do |para| + para.split("\n").each do |line| + $stdout.puts line.insert(0, " " * ident) + end + $stdout.puts unless para == paras.last + end + end + + # Deals with file collision and returns true if the file should be + # overwriten and false otherwise. If a block is given, it uses the block + # response as the content for the diff. + # + # ==== Parameters + # destination:: the destination file to solve conflicts + # block:: an optional block that returns the value to be used in diff + # + def file_collision(destination) + return true if @always_force + options = block_given? ? "[Ynaqdh]" : "[Ynaqh]" + + while true + answer = ask %[Overwrite #{destination}? (enter "h" for help) #{options}] + + case answer + when is?(:yes), is?(:force), "" + return true + when is?(:no), is?(:skip) + return false + when is?(:always) + return @always_force = true + when is?(:quit) + say 'Aborting...' + raise SystemExit + when is?(:diff) + show_diff(destination, yield) if block_given? + say 'Retrying...' + else + say file_collision_help + end + end + end + + # Called if something goes wrong during the execution. This is used by Thor + # internally and should not be used inside your scripts. If someone went + # wrong, you can always raise an exception. If you raise a Thor::Error, it + # will be rescued and wrapped in the method below. + # + def error(statement) + $stderr.puts statement + end + + # Apply color to the given string with optional bold. Disabled in the + # Thor::Shell::Basic class. + # + def set_color(string, color, bold=false) #:nodoc: + string + end + + protected + + def is?(value) #:nodoc: + value = value.to_s + + if value.size == 1 + /\A#{value}\z/i + else + /\A(#{value}|#{value[0,1]})\z/i + end + end + + def file_collision_help #:nodoc: +</dev/null}.split[1].to_i + end + + def dynamic_width_tput + %x{tput cols 2>/dev/null}.to_i + end + + def unix? + RUBY_PLATFORM =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i + end + + def truncate(string, width) + if string.length <= width + string + else + ( string[0, width-3] || "" ) + "..." + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/color.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/color.rb new file mode 100755 index 00000000..b2bc66df --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/color.rb @@ -0,0 +1,108 @@ +require 'thor/shell/basic' + +class Thor + module Shell + # Inherit from Thor::Shell::Basic and add set_color behavior. Check + # Thor::Shell::Basic to see all available methods. + # + class Color < Basic + # Embed in a String to clear all previous ANSI sequences. + CLEAR = "\e[0m" + # The start of an ANSI bold sequence. + BOLD = "\e[1m" + + # Set the terminal's foreground ANSI color to black. + BLACK = "\e[30m" + # Set the terminal's foreground ANSI color to red. + RED = "\e[31m" + # Set the terminal's foreground ANSI color to green. + GREEN = "\e[32m" + # Set the terminal's foreground ANSI color to yellow. + YELLOW = "\e[33m" + # Set the terminal's foreground ANSI color to blue. + BLUE = "\e[34m" + # Set the terminal's foreground ANSI color to magenta. + MAGENTA = "\e[35m" + # Set the terminal's foreground ANSI color to cyan. + CYAN = "\e[36m" + # Set the terminal's foreground ANSI color to white. + WHITE = "\e[37m" + + # Set the terminal's background ANSI color to black. + ON_BLACK = "\e[40m" + # Set the terminal's background ANSI color to red. + ON_RED = "\e[41m" + # Set the terminal's background ANSI color to green. + ON_GREEN = "\e[42m" + # Set the terminal's background ANSI color to yellow. + ON_YELLOW = "\e[43m" + # Set the terminal's background ANSI color to blue. + ON_BLUE = "\e[44m" + # Set the terminal's background ANSI color to magenta. + ON_MAGENTA = "\e[45m" + # Set the terminal's background ANSI color to cyan. + ON_CYAN = "\e[46m" + # Set the terminal's background ANSI color to white. + ON_WHITE = "\e[47m" + + # Set color by using a string or one of the defined constants. If a third + # option is set to true, it also adds bold to the string. This is based + # on Highline implementation and it automatically appends CLEAR to the end + # of the returned String. + # + def set_color(string, color, bold=false) + color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol) + bold = bold ? BOLD : "" + "#{bold}#{color}#{string}#{CLEAR}" + end + + protected + + # Overwrite show_diff to show diff with colors if Diff::LCS is + # available. + # + def show_diff(destination, content) #:nodoc: + if diff_lcs_loaded? && ENV['THOR_DIFF'].nil? && ENV['RAILS_DIFF'].nil? + actual = File.binread(destination).to_s.split("\n") + content = content.to_s.split("\n") + + Diff::LCS.sdiff(actual, content).each do |diff| + output_diff_line(diff) + end + else + super + end + end + + def output_diff_line(diff) #:nodoc: + case diff.action + when '-' + say "- #{diff.old_element.chomp}", :red, true + when '+' + say "+ #{diff.new_element.chomp}", :green, true + when '!' + say "- #{diff.old_element.chomp}", :red, true + say "+ #{diff.new_element.chomp}", :green, true + else + say " #{diff.old_element.chomp}", nil, true + end + end + + # Check if Diff::LCS is loaded. If it is, use it to create pretty output + # for diff. + # + def diff_lcs_loaded? #:nodoc: + return true if defined?(Diff::LCS) + return @diff_lcs_loaded unless @diff_lcs_loaded.nil? + + @diff_lcs_loaded = begin + require 'diff/lcs' + true + rescue LoadError + false + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/html.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/html.rb new file mode 100644 index 00000000..d1952862 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/shell/html.rb @@ -0,0 +1,121 @@ +require 'thor/shell/basic' + +class Thor + module Shell + # Inherit from Thor::Shell::Basic and add set_color behavior. Check + # Thor::Shell::Basic to see all available methods. + # + class HTML < Basic + # The start of an HTML bold sequence. + BOLD = "" + # The end of an HTML bold sequence. + END_BOLD = "" + + # Embed in a String to clear previous color selection. + CLEAR = "" + + # Set the terminal's foreground HTML color to black. + BLACK = '' + # Set the terminal's foreground HTML color to red. + RED = '' + # Set the terminal's foreground HTML color to green. + GREEN = '' + # Set the terminal's foreground HTML color to yellow. + YELLOW = '' + # Set the terminal's foreground HTML color to blue. + BLUE = '' + # Set the terminal's foreground HTML color to magenta. + MAGENTA = '' + # Set the terminal's foreground HTML color to cyan. + CYAN = '' + # Set the terminal's foreground HTML color to white. + WHITE = '' + + # Set the terminal's background HTML color to black. + ON_BLACK = '' + # Set the terminal's background HTML color to red. + ON_RED = '' + # Set the terminal's background HTML color to green. + ON_GREEN = '' + # Set the terminal's background HTML color to yellow. + ON_YELLOW = '' + # Set the terminal's background HTML color to blue. + ON_BLUE = '' + # Set the terminal's background HTML color to magenta. + ON_MAGENTA = '' + # Set the terminal's background HTML color to cyan. + ON_CYAN = '' + # Set the terminal's background HTML color to white. + ON_WHITE = '' + + # Set color by using a string or one of the defined constants. If a third + # option is set to true, it also adds bold to the string. This is based + # on Highline implementation and it automatically appends CLEAR to the end + # of the returned String. + # + def set_color(string, color, bold=false) + color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol) + bold, end_bold = bold ? [BOLD, END_BOLD] : ['', ''] + "#{bold}#{color}#{string}#{CLEAR}#{end_bold}" + end + + # Ask something to the user and receives a response. + # + # ==== Example + # ask("What is your name?") + # + # TODO: Implement #ask for Thor::Shell::HTML + def ask(statement, color=nil) + raise NotImplementedError, "Implement #ask for Thor::Shell::HTML" + end + + protected + + # Overwrite show_diff to show diff with colors if Diff::LCS is + # available. + # + def show_diff(destination, content) #:nodoc: + if diff_lcs_loaded? && ENV['THOR_DIFF'].nil? && ENV['RAILS_DIFF'].nil? + actual = File.binread(destination).to_s.split("\n") + content = content.to_s.split("\n") + + Diff::LCS.sdiff(actual, content).each do |diff| + output_diff_line(diff) + end + else + super + end + end + + def output_diff_line(diff) #:nodoc: + case diff.action + when '-' + say "- #{diff.old_element.chomp}", :red, true + when '+' + say "+ #{diff.new_element.chomp}", :green, true + when '!' + say "- #{diff.old_element.chomp}", :red, true + say "+ #{diff.new_element.chomp}", :green, true + else + say " #{diff.old_element.chomp}", nil, true + end + end + + # Check if Diff::LCS is loaded. If it is, use it to create pretty output + # for diff. + # + def diff_lcs_loaded? #:nodoc: + return true if defined?(Diff::LCS) + return @diff_lcs_loaded unless @diff_lcs_loaded.nil? + + @diff_lcs_loaded = begin + require 'diff/lcs' + true + rescue LoadError + false + end + end + + end + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb new file mode 100755 index 00000000..a4355831 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb @@ -0,0 +1,114 @@ +class Thor + class Task < Struct.new(:name, :description, :long_description, :usage, :options) + FILE_REGEXP = /^#{Regexp.escape(File.dirname(__FILE__))}/ + + def initialize(name, description, long_description, usage, options=nil) + super(name.to_s, description, long_description, usage, options || {}) + end + + def initialize_copy(other) #:nodoc: + super(other) + self.options = other.options.dup if other.options + end + + def hidden? + false + end + + # By default, a task invokes a method in the thor class. You can change this + # implementation to create custom tasks. + def run(instance, args=[]) + public_method?(instance) ? + instance.send(name, *args) : instance.class.handle_no_task_error(name) + rescue ArgumentError => e + handle_argument_error?(instance, e, caller) ? + instance.class.handle_argument_error(self, e) : (raise e) + rescue NoMethodError => e + handle_no_method_error?(instance, e, caller) ? + instance.class.handle_no_task_error(name) : (raise e) + end + + # Returns the formatted usage by injecting given required arguments + # and required options into the given usage. + def formatted_usage(klass, namespace = true, subcommand = false) + if namespace + namespace = klass.namespace + formatted = "#{namespace.gsub(/^(default)/,'')}:" + formatted.sub!(/.$/, ' ') if subcommand + end + + formatted ||= "" + + # Add usage with required arguments + formatted << if klass && !klass.arguments.empty? + usage.to_s.gsub(/^#{name}/) do |match| + match << " " << klass.arguments.map{ |a| a.usage }.compact.join(' ') + end + else + usage.to_s + end + + # Add required options + formatted << " #{required_options}" + + # Strip and go! + formatted.strip + end + + protected + + def not_debugging?(instance) + !(instance.class.respond_to?(:debugging) && instance.class.debugging) + end + + def required_options + @required_options ||= options.map{ |_, o| o.usage if o.required? }.compact.sort.join(" ") + end + + # Given a target, checks if this class name is not a private/protected method. + def public_method?(instance) #:nodoc: + collection = instance.private_methods + instance.protected_methods + (collection & [name.to_s, name.to_sym]).empty? + end + + def sans_backtrace(backtrace, caller) #:nodoc: + saned = backtrace.reject { |frame| frame =~ FILE_REGEXP } + saned -= caller + end + + def handle_argument_error?(instance, error, caller) + not_debugging?(instance) && error.message =~ /wrong number of arguments/ && begin + saned = sans_backtrace(error.backtrace, caller) + # Ruby 1.9 always include the called method in the backtrace + saned.empty? || (saned.size == 1 && RUBY_VERSION >= "1.9") + end + end + + def handle_no_method_error?(instance, error, caller) + not_debugging?(instance) && + error.message =~ /^undefined method `#{name}' for #{Regexp.escape(instance.to_s)}$/ + end + end + + # A task that is hidden in help messages but still invocable. + class HiddenTask < Task + def hidden? + true + end + end + + # A dynamic task that handles method missing scenarios. + class DynamicTask < Task + def initialize(name, options=nil) + super(name.to_s, "A dynamically-generated task", name.to_s, name.to_s, options) + end + + def run(instance, args=[]) + if (instance.methods & [name.to_s, name.to_sym]).empty? + super + else + instance.class.handle_no_task_error(name) + end + end + end +end \ No newline at end of file diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/util.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/util.rb new file mode 100755 index 00000000..7f2142b4 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/util.rb @@ -0,0 +1,229 @@ +require 'rbconfig' + +class Thor + module Sandbox #:nodoc: + end + + # This module holds several utilities: + # + # 1) Methods to convert thor namespaces to constants and vice-versa. + # + # Thor::Utils.namespace_from_thor_class(Foo::Bar::Baz) #=> "foo:bar:baz" + # + # 2) Loading thor files and sandboxing: + # + # Thor::Utils.load_thorfile("~/.thor/foo") + # + module Util + + # Receives a namespace and search for it in the Thor::Base subclasses. + # + # ==== Parameters + # namespace:: The namespace to search for. + # + def self.find_by_namespace(namespace) + namespace = "default#{namespace}" if namespace.empty? || namespace =~ /^:/ + Thor::Base.subclasses.find { |klass| klass.namespace == namespace } + end + + # Receives a constant and converts it to a Thor namespace. Since Thor tasks + # can be added to a sandbox, this method is also responsable for removing + # the sandbox namespace. + # + # This method should not be used in general because it's used to deal with + # older versions of Thor. On current versions, if you need to get the + # namespace from a class, just call namespace on it. + # + # ==== Parameters + # constant:: The constant to be converted to the thor path. + # + # ==== Returns + # String:: If we receive Foo::Bar::Baz it returns "foo:bar:baz" + # + def self.namespace_from_thor_class(constant) + constant = constant.to_s.gsub(/^Thor::Sandbox::/, "") + constant = snake_case(constant).squeeze(":") + constant + end + + # Given the contents, evaluate it inside the sandbox and returns the + # namespaces defined in the sandbox. + # + # ==== Parameters + # contents + # + # ==== Returns + # Array[Object] + # + def self.namespaces_in_content(contents, file=__FILE__) + old_constants = Thor::Base.subclasses.dup + Thor::Base.subclasses.clear + + load_thorfile(file, contents) + + new_constants = Thor::Base.subclasses.dup + Thor::Base.subclasses.replace(old_constants) + + new_constants.map!{ |c| c.namespace } + new_constants.compact! + new_constants + end + + # Returns the thor classes declared inside the given class. + # + def self.thor_classes_in(klass) + stringfied_constants = klass.constants.map { |c| c.to_s } + Thor::Base.subclasses.select do |subclass| + next unless subclass.name + stringfied_constants.include?(subclass.name.gsub("#{klass.name}::", '')) + end + end + + # Receives a string and convert it to snake case. SnakeCase returns snake_case. + # + # ==== Parameters + # String + # + # ==== Returns + # String + # + def self.snake_case(str) + return str.downcase if str =~ /^[A-Z_]+$/ + str.gsub(/\B[A-Z]/, '_\&').squeeze('_') =~ /_*(.*)/ + return $+.downcase + end + + # Receives a string and convert it to camel case. camel_case returns CamelCase. + # + # ==== Parameters + # String + # + # ==== Returns + # String + # + def self.camel_case(str) + return str if str !~ /_/ && str =~ /[A-Z]+.*/ + str.split('_').map { |i| i.capitalize }.join + end + + # Receives a namespace and tries to retrieve a Thor or Thor::Group class + # from it. It first searches for a class using the all the given namespace, + # if it's not found, removes the highest entry and searches for the class + # again. If found, returns the highest entry as the class name. + # + # ==== Examples + # + # class Foo::Bar < Thor + # def baz + # end + # end + # + # class Baz::Foo < Thor::Group + # end + # + # Thor::Util.namespace_to_thor_class("foo:bar") #=> Foo::Bar, nil # will invoke default task + # Thor::Util.namespace_to_thor_class("baz:foo") #=> Baz::Foo, nil + # Thor::Util.namespace_to_thor_class("foo:bar:baz") #=> Foo::Bar, "baz" + # + # ==== Parameters + # namespace + # + def self.find_class_and_task_by_namespace(namespace, fallback = true) + if namespace.include?(?:) # look for a namespaced task + pieces = namespace.split(":") + task = pieces.pop + klass = Thor::Util.find_by_namespace(pieces.join(":")) + end + unless klass # look for a Thor::Group with the right name + klass, task = Thor::Util.find_by_namespace(namespace), nil + end + if !klass && fallback # try a task in the default namespace + task = namespace + klass = Thor::Util.find_by_namespace('') + end + return klass, task + end + + # Receives a path and load the thor file in the path. The file is evaluated + # inside the sandbox to avoid namespacing conflicts. + # + def self.load_thorfile(path, content=nil, debug=false) + content ||= File.binread(path) + + begin + Thor::Sandbox.class_eval(content, path) + rescue Exception => e + $stderr.puts "WARNING: unable to load thorfile #{path.inspect}: #{e.message}" + if debug + $stderr.puts *e.backtrace + else + $stderr.puts e.backtrace.first + end + end + end + + def self.user_home + @@user_home ||= if ENV["HOME"] + ENV["HOME"] + elsif ENV["USERPROFILE"] + ENV["USERPROFILE"] + elsif ENV["HOMEDRIVE"] && ENV["HOMEPATH"] + File.join(ENV["HOMEDRIVE"], ENV["HOMEPATH"]) + elsif ENV["APPDATA"] + ENV["APPDATA"] + else + begin + File.expand_path("~") + rescue + if File::ALT_SEPARATOR + "C:/" + else + "/" + end + end + end + end + + # Returns the root where thor files are located, dependending on the OS. + # + def self.thor_root + File.join(user_home, ".thor").gsub(/\\/, '/') + end + + # Returns the files in the thor root. On Windows thor_root will be something + # like this: + # + # C:\Documents and Settings\james\.thor + # + # If we don't #gsub the \ character, Dir.glob will fail. + # + def self.thor_root_glob + files = Dir["#{thor_root}/*"] + + files.map! do |file| + File.directory?(file) ? File.join(file, "main.thor") : file + end + end + + # Where to look for Thor files. + # + def self.globs_for(path) + ["#{path}/Thorfile", "#{path}/*.thor", "#{path}/tasks/*.thor", "#{path}/lib/tasks/*.thor"] + end + + # Return the path to the ruby interpreter taking into account multiple + # installations and windows extensions. + # + def self.ruby_command + @ruby_command ||= begin + ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name']) + ruby << RbConfig::CONFIG['EXEEXT'] + + # escape string in case path to ruby executable contain spaces. + ruby.sub!(/.*\s.*/m, '"\&"') + ruby + end + end + + end +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/version.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/version.rb new file mode 100755 index 00000000..b3efbb53 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/vendor/thor/version.rb @@ -0,0 +1,3 @@ +class Thor + VERSION = "0.14.0".freeze +end diff --git a/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/version.rb b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/version.rb new file mode 100644 index 00000000..029b4106 --- /dev/null +++ b/vendor/plugins/bundler/gems/bundler-1.0.0/lib/bundler/version.rb @@ -0,0 +1,6 @@ +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.0" unless defined?(::Bundler::VERSION) +end diff --git a/vendor/plugins/bundler/specifications/bundler.gemspec b/vendor/plugins/bundler/specifications/bundler.gemspec new file mode 100644 index 00000000..9dfd1b79 --- /dev/null +++ b/vendor/plugins/bundler/specifications/bundler.gemspec @@ -0,0 +1,36 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{bundler} + s.version = "1.0.0" + + 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-08-29} + 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 = ["bin/bundle", "lib/bundler/capistrano.rb", "lib/bundler/cli.rb", "lib/bundler/definition.rb", "lib/bundler/dependency.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/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", "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/gitignore.tt", "lib/bundler/templates/newgem/lib/newgem/version.rb.tt", "lib/bundler/templates/newgem/lib/newgem.rb.tt", "lib/bundler/templates/newgem/newgem.gemspec.tt", "lib/bundler/templates/newgem/Rakefile.tt", "lib/bundler/ui.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/actions.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/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/parser.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/shell.rb", "lib/bundler/vendor/thor/task.rb", "lib/bundler/vendor/thor/util.rb", "lib/bundler/vendor/thor/version.rb", "lib/bundler/vendor/thor.rb", "lib/bundler/version.rb", "lib/bundler.rb", "LICENSE", "README.md", "ROADMAP.md", "CHANGELOG.md", "ISSUES.md"] + 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} + + 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/rack/lib/rack.rb b/vendor/plugins/rack/lib/rack.rb index 1bbf70e9..aa1ba88d 100644 --- a/vendor/plugins/rack/lib/rack.rb +++ b/vendor/plugins/rack/lib/rack.rb @@ -29,7 +29,8 @@ module Rack autoload :CommonLogger, "rack/commonlogger" autoload :ConditionalGet, "rack/conditionalget" autoload :Config, "rack/config" - autoload :ContentLength, "rack/content_length" + require "rack/content_length" +# autoload :ContentLength, "rack/content_length" autoload :ContentType, "rack/content_type" autoload :ETag, "rack/etag" autoload :File, "rack/file" @@ -54,7 +55,8 @@ module Rack autoload :ShowStatus, "rack/showstatus" autoload :Static, "rack/static" autoload :URLMap, "rack/urlmap" - autoload :Utils, "rack/utils" + require "rack/utils" +# autoload :Utils, "rack/utils" autoload :MockRequest, "rack/mock" autoload :MockResponse, "rack/mock" diff --git a/vendor/plugins/rack/lib/rack/handler.rb b/vendor/plugins/rack/lib/rack/handler.rb index 3c09883e..9238994f 100644 --- a/vendor/plugins/rack/lib/rack/handler.rb +++ b/vendor/plugins/rack/lib/rack/handler.rb @@ -70,7 +70,8 @@ module Rack autoload :Mongrel, "rack/handler/mongrel" autoload :EventedMongrel, "rack/handler/evented_mongrel" autoload :SwiftipliedMongrel, "rack/handler/swiftiplied_mongrel" - autoload :WEBrick, "rack/handler/webrick" + require "rack/handler/webrick" +# autoload :WEBrick, "rack/handler/webrick" autoload :LSWS, "rack/handler/lsws" autoload :SCGI, "rack/handler/scgi" autoload :Thin, "rack/handler/thin" diff --git a/vendor/plugins/sqlite3-ruby/API_CHANGES.rdoc b/vendor/plugins/sqlite3-ruby/API_CHANGES.rdoc deleted file mode 100644 index 8ca51e67..00000000 --- a/vendor/plugins/sqlite3-ruby/API_CHANGES.rdoc +++ /dev/null @@ -1,48 +0,0 @@ -= API Changes - -* SQLite3::ResultSet used to query the database for the first row, regardless - of whether the user asked for it or not. I have removed that so that rows - will not be returned until the user asks for them. This is a subtle but - sometimes important change in behavior. - - 83882d2208ed189361617d5ab8532a325aaf729d - -* SQLite3::Database#trace now takes either a block or an object that responds - to "call". The previous implementation passed around a VALUE that was cast - to a void *. This is dangerous because the value could get garbage collected - before the proc was called. If the user wants data passed around with the - block, they should use variables available to the closure or create an - object. - -* SQLite3::Statement#step automatically converts to ruby types, where before - all values were automatically yielded as strings. This will only be a - problem for people who were accessing information about the database that - wasn't previously passed through the pure ruby conversion code. - -* SQLite3::Database#errmsg no longer takes a parameter to return error - messages as UTF-16. Do people even use that? I opt for staying UTF-8 when - possible. See test_integration.rb test_errmsg_utf16 - -* SQLite3::Database#authorize same changes as trace - -* test/test_tc_database.rb was removed because we no longer use the Driver - design pattern. - -= Garbage Collection Strategy - -All statements keep pointers back to their respective database connections. -The @connection instance variable on the Statement handle keeps the database -connection alive. Memory allocated for a statement handler will be freed in -two cases: - -* close is called on the statement -* The SQLite3::Database object gets garbage collected - -We can't free the memory for the statement in the garbage collection function -for the statement handler. The reason is because there exists a race -condition. We cannot guarantee the order in which objects will be garbage -collected. So, it is possible that a connection and a statement are up for -garbage collection. If the database connection were to be free'd before the -statement, then boom. Instead we'll be conservative and free unclosed -statements when the connection is terminated. - diff --git a/vendor/plugins/sqlite3-ruby/CHANGELOG.rdoc b/vendor/plugins/sqlite3-ruby/CHANGELOG.rdoc deleted file mode 100644 index dbf192c3..00000000 --- a/vendor/plugins/sqlite3-ruby/CHANGELOG.rdoc +++ /dev/null @@ -1,150 +0,0 @@ -=== 1.3.1 / 2010-07-09 - -* Enhancements - * Custom collations may be defined using SQLite3::Database#collation - -* Bugfixes - * Statements returning 0 columns are automatically stepped. [RF #28308] - * SQLite3::Database#encoding works on 1.8 and 1.9 - -=== 1.3.0 / 2010-06-06 - -* Enhancements - * Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove] - See API_CHANGES document for details. - This closes: Bug #27300, Bug #27241, Patch #16020 - * Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse] - * Added support for type translations [tenderlove] - - @db.translator.add_translator('sometime') do |type, thing| - 'output' # this will be returned as value for that column - end - -* Experimental - * Added API to access and load extensions. [kashif] - These functions maps directly into SQLite3 own enable_load_extension() - and load_extension() C-API functions. See SQLite3::Database API documentation for details. - This closes: Patches #9178 - -* Bugfixes - * Corrected gem dependencies (runtime and development) - * Fixed threaded tests [Alexey Borzenkov] - * Removed GitHub gemspec - * Fixed "No definition for" warnings from RDoc - * Generate zip and tgz files for releases - * Added Luis Lavena as gem Author (maintainer) - * Prevent mkmf interfere with Mighty Snow Leopard - * Allow extension compilation search for common lib paths [kashif] - (lookup /usr/local, /opt/local and /usr) - * Corrected extension compilation under MSVC [romuloceccon] - * Define load_extension functionality based on availability [tenderlove] - * Deprecation notices for Database#query. Fixes RF #28192 - -=== 1.3.0.beta.2 / 2010-05-15 - -* Enhancements - * Added support for type translations [tenderlove] - - @db.translator.add_translator('sometime') do |type, thing| - 'output' # this will be returned as value for that column - end - -* Bugfixes - * Allow extension compilation search for common lib paths [kashif] - (lookup /usr/local, /opt/local and /usr) - * Corrected extension compilation under MSVC [romuloceccon] - * Define load_extension functionality based on availability [tenderlove] - * Deprecation notices for Database#query. Fixes RF #28192 - -=== 1.3.0.beta.1 / 2010-05-10 - -* Enhancements - * Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove] - See API_CHANGES document for details. - This closes: Bug #27300, Bug #27241, Patch #16020 - * Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse] - -* Experimental - * Added API to access and load extensions. [kashif] - These functions maps directly into SQLite3 own enable_load_extension() - and load_extension() C-API functions. See SQLite3::Database API documentation for details. - This closes: Patches #9178 - -* Bugfixes - * Corrected gem dependencies (runtime and development) - * Fixed threaded tests [Alexey Borzenkov] - * Removed GitHub gemspec - * Fixed "No definition for" warnings from RDoc - * Generate zip and tgz files for releases - * Added Luis Lavena as gem Author (maintainer) - * Prevent mkmf interfere with Mighty Snow Leopard - -=== 1.2.5 / 25 Jul 2009 - -* Check for illegal nil before executing SQL [Erik Veenstra] -* Switch to Hoe for gem task management and packaging. -* Advertise rake-compiler as development dependency. -* Build gem binaries for Windows. -* Improved Ruby 1.9 support compatibility. -* Taint returned values. Patch #20325. -* Database.open and Database.new now take an optional block [Gerrit Kaiser] - - -=== 1.2.4.1 (internal) / 5 Jul 2009 - -* Check for illegal nil before executing SQL [Erik Veenstra] -* Switch to Hoe for gem task management and packaging. -* Advertise rake-compiler as development dependency. -* Build gem binaries for Windows. -* Improved Ruby 1.9 support compatibility. - - -=== 1.2.4 / 27 Aug 2008 - -* Package the updated C file for source builds. [Jamis Buck] - - -=== 1.2.3 / 26 Aug 2008 - -* Fix incorrect permissions on database.rb and translator.rb [Various] - -* Avoid using Object#extend for greater speedups [Erik Veenstra] - -* Ruby 1.9 compatibility tweaks for Array#zip [jimmy88@gmail.com] - -* Fix linking against Ruby 1.8.5 [Rob Holland ] - - -=== 1.2.2 / 31 May 2008 - -* Make the table_info method adjust the returned default value for the rows - so that the sqlite3 change in 3.3.8 and greater can be handled - transparently [Jamis Buck ] - -* Ruby 1.9 compatibility tweaks [Roman Le Negrate ] - -* Various performance enhancements [thanks Erik Veenstra] - -* Correct busy_handler documentation [Rob Holland ] - -* Use int_bind64 on Fixnum values larger than a 32bit C int can take. [Rob Holland ] - -* Work around a quirk in SQLite's error reporting by calling sqlite3_reset - to produce a more informative error code upon a failure from - sqlite3_step. [Rob Holland ] - -* Various documentation, test, and style tweaks [Rob Holland ] - -* Be more granular with time/data translation [Rob Holland ] - -* Use Date directly for parsing rather than going via Time [Rob Holland ] - -* Check for the rt library and fdatasync so we link against that when - needed [Rob Holland ] - -* Rename data structures to avoid collision on win32. based on patch - by: Luis Lavena [Rob Holland ] - -* Add test for defaults [Daniel Rodríguez Troitiño] - -* Correctly unquote double-quoted pragma defaults [Łukasz Dargiewicz ] diff --git a/vendor/plugins/sqlite3-ruby/ChangeLog.cvs b/vendor/plugins/sqlite3-ruby/ChangeLog.cvs deleted file mode 100644 index 6e9dd51d..00000000 --- a/vendor/plugins/sqlite3-ruby/ChangeLog.cvs +++ /dev/null @@ -1,88 +0,0 @@ -2005-01-05 09:40 minam - - * Rakefile, sqlite3-ruby-win32.gemspec, sqlite3-ruby.gemspec: Added - win32 gem. - -2005-01-05 07:31 minam - - * Rakefile, test/tc_integration.rb, test/tests.rb: Added - native-vs-dl benchmark to Rakefile. Added SQLITE3_DRIVERS - environment variable to integration test to specify which - driver(s) should be tested (defaults to "Native"). - -2005-01-04 14:26 minam - - * ext/sqlite3_api/sqlite3_api.i, lib/sqlite3/database.rb, - lib/sqlite3/driver/native/driver.rb, test/tc_database.rb, - test/tc_integration.rb, test/tests.rb: Unit tests: done. Bugs: - fixed. - -2005-01-03 23:13 minam - - * ext/sqlite3_api/sqlite3_api.i, lib/sqlite3/database.rb, - lib/sqlite3/driver/dl/driver.rb, - lib/sqlite3/driver/native/driver.rb, test/tc_integration.rb: - Custom functions (aggregate and otherwise) are supported by the - native driver now. Test cases for the same. - -2005-01-03 13:51 minam - - * ext/sqlite3_api/MANIFEST, ext/sqlite3_api/extconf.rb, - ext/sqlite3_api/post-clean.rb, ext/sqlite3_api/post-distclean.rb, - ext/sqlite3_api/sqlite3_api.i, lib/sqlite3/database.rb, - lib/sqlite3/resultset.rb, lib/sqlite3/version.rb, - lib/sqlite3/driver/dl/driver.rb, - lib/sqlite3/driver/native/driver.rb, test/native-vs-dl.rb, - test/tc_integration.rb: Added preliminary implementation of - native driver (swig-based), and integration tests. - -2004-12-29 19:37 minam - - * lib/sqlite3/driver/dl/driver.rb: Some fixes to allow the DL - driver to work with Ruby 1.8.1. - -2004-12-29 14:52 minam - - * lib/sqlite3/: database.rb, version.rb: Made #quote a class method - (again). Bumped version to 0.6. - -2004-12-25 22:59 minam - - * lib/sqlite3/driver/dl/api.rb: Added check for darwin in supported - platforms (thanks to bitsweat). - -2004-12-22 12:38 minam - - * Rakefile: Rakefile wasn't packaging the README file. - -2004-12-21 22:28 minam - - * Rakefile, sqlite3-ruby.gemspec, test/bm.rb: Packaging now works. - Added benchmarks. - -2004-12-21 21:45 minam - - * LICENSE, README, Rakefile, setup.rb, sqlite3-ruby.gemspec, - doc/faq/faq.rb, doc/faq/faq.yml, lib/sqlite3.rb, - lib/sqlite3/statement.rb, lib/sqlite3/constants.rb, - lib/sqlite3/database.rb, lib/sqlite3/resultset.rb, - lib/sqlite3/translator.rb, lib/sqlite3/value.rb, - lib/sqlite3/version.rb, lib/sqlite3/errors.rb, - lib/sqlite3/pragmas.rb, lib/sqlite3/driver/dl/api.rb, - lib/sqlite3/driver/dl/driver.rb, test/mocks.rb, - test/tc_database.rb, test/tests.rb, test/driver/dl/tc_driver.rb: - Initial import - -2004-12-21 21:45 minam - - * LICENSE, README, Rakefile, setup.rb, sqlite3-ruby.gemspec, - doc/faq/faq.rb, doc/faq/faq.yml, lib/sqlite3.rb, - lib/sqlite3/statement.rb, lib/sqlite3/constants.rb, - lib/sqlite3/database.rb, lib/sqlite3/resultset.rb, - lib/sqlite3/translator.rb, lib/sqlite3/value.rb, - lib/sqlite3/version.rb, lib/sqlite3/errors.rb, - lib/sqlite3/pragmas.rb, lib/sqlite3/driver/dl/api.rb, - lib/sqlite3/driver/dl/driver.rb, test/mocks.rb, - test/tc_database.rb, test/tests.rb, test/driver/dl/tc_driver.rb: - Initial revision - diff --git a/vendor/plugins/sqlite3-ruby/LICENSE b/vendor/plugins/sqlite3-ruby/LICENSE deleted file mode 100644 index 75c06824..00000000 --- a/vendor/plugins/sqlite3-ruby/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2004, Jamis Buck (jamis@jamisbuck.org) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * The names of its contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/plugins/sqlite3-ruby/Manifest.txt b/vendor/plugins/sqlite3-ruby/Manifest.txt deleted file mode 100644 index 2b2237fe..00000000 --- a/vendor/plugins/sqlite3-ruby/Manifest.txt +++ /dev/null @@ -1,46 +0,0 @@ -API_CHANGES.rdoc -CHANGELOG.rdoc -ChangeLog.cvs -LICENSE -Manifest.txt -README.rdoc -Rakefile -ext/sqlite3/database.c -ext/sqlite3/database.h -ext/sqlite3/exception.c -ext/sqlite3/exception.h -ext/sqlite3/extconf.rb -ext/sqlite3/sqlite3.c -ext/sqlite3/sqlite3_ruby.h -ext/sqlite3/statement.c -ext/sqlite3/statement.h -faq/faq.rb -faq/faq.yml -lib/sqlite3.rb -lib/sqlite3/constants.rb -lib/sqlite3/database.rb -lib/sqlite3/errors.rb -lib/sqlite3/pragmas.rb -lib/sqlite3/resultset.rb -lib/sqlite3/statement.rb -lib/sqlite3/translator.rb -lib/sqlite3/value.rb -lib/sqlite3/version.rb -setup.rb -tasks/faq.rake -tasks/gem.rake -tasks/native.rake -tasks/vendor_sqlite3.rake -test/helper.rb -test/test_collation.rb -test/test_database.rb -test/test_deprecated.rb -test/test_encoding.rb -test/test_integration.rb -test/test_integration_open_close.rb -test/test_integration_pending.rb -test/test_integration_resultset.rb -test/test_integration_statement.rb -test/test_sqlite3.rb -test/test_statement.rb -test/test_statement_execute.rb diff --git a/vendor/plugins/sqlite3-ruby/README.rdoc b/vendor/plugins/sqlite3-ruby/README.rdoc deleted file mode 100644 index 8056a97c..00000000 --- a/vendor/plugins/sqlite3-ruby/README.rdoc +++ /dev/null @@ -1,74 +0,0 @@ -= SQLite3/Ruby Interface - -* http://github.com/luislavena/sqlite3-ruby -* http://rubyforge.org/projects/sqlite-ruby -* http://sqlite-ruby.rubyforge.org -* http://groups.google.com/group/sqlite3-ruby - -== DESCRIPTION - -This module allows Ruby programs to interface with the SQLite3 -database engine (http://www.sqlite.org). You must have the -SQLite engine installed in order to build this module. - -Note that this module is NOT compatible with SQLite 2.x. - -== Compilation and Installation - -Install SQLite3, enabling option SQLITE_ENABLE_COLUMN_METADATA (see -www.sqlite.org/compile.html for details). - -Then do the following: - - ruby setup.rb config - ruby setup.rb setup - ruby setup.rb install - -Alternatively, you can download and install the RubyGem package for -SQLite3/Ruby (you must have RubyGems and SQLite3 installed, first): - - gem install sqlite3-ruby - -If you have sqlite3 installed in a non-standard location, you can specify the location of the include and lib files by doing: - - gem install sqlite3-ruby -- --with-sqlite3-include=/opt/local/include \ - --with-sqlite3-lib=/opt/local/lib - -= SUPPORT!!! - -== OMG! Something has gone wrong! Where do I get help? - -The best place to get help is from the -{sqlite3-ruby mailing list}[http://groups.google.com/group/sqlite3-ruby] which -can be found here: - - * http://groups.google.com/group/sqlite3-ruby - -== I've found a bug! Where do I file it? - -Uh oh. After contacting the mailing list, you've found that you've actually -discovered a bug. You can file the bug at the -{github issues page}[http://github.com/luislavena/sqlite3-ruby/issues] -which can be found here: - - * http://github.com/luislavena/sqlite3-ruby/issues - -== Usage - -For help figuring out the SQLite3/Ruby interface, check out the -FAQ[http://sqlite-ruby.rubyforge.org/sqlite3/faq.html]. It includes examples of -usage. If you have any questions that you feel should be address in the -FAQ, please send them to jamis@37signals.com - -== Source Code - -The source repository is accessible via git: - - git clone git://github.com/luislavena/sqlite3-ruby.git - -== Contact Information - -The project page is http://rubyforge.org/projects/sqlite-ruby. There, you can -find links to mailing lists and forums that you can use to discuss this -library. Additionally, there are trackers for submitting bugs and feature -requests. Feel free to use them! diff --git a/vendor/plugins/sqlite3-ruby/Rakefile b/vendor/plugins/sqlite3-ruby/Rakefile deleted file mode 100644 index 7c5f784c..00000000 --- a/vendor/plugins/sqlite3-ruby/Rakefile +++ /dev/null @@ -1,10 +0,0 @@ -# -# NOTE: Keep this file clean. -# Add your customizations inside tasks directory. -# Thank You. -# - -# load rakefile extensions (tasks) -Dir['tasks/*.rake'].sort.each { |f| load f } - -# vim: syntax=ruby diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.c b/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.c deleted file mode 100644 index 7b7bf057..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.c +++ /dev/null @@ -1,760 +0,0 @@ -#include - -#define REQUIRE_OPEN_DB(_ctxt) \ - if(!_ctxt->db) \ - rb_raise(rb_path2class("SQLite3::Exception"), "cannot use a closed database"); - -VALUE cSqlite3Database; -static VALUE sym_utf16, sym_results_as_hash, sym_type_translation; - -static void deallocate(void * ctx) -{ - sqlite3RubyPtr c = (sqlite3RubyPtr)ctx; - sqlite3 * db = c->db; - sqlite3_stmt * stmt; - - if(db) { - while((stmt = sqlite3_next_stmt(db, NULL)) != NULL) { - sqlite3_finalize(stmt); - } - sqlite3_close(db); - } - xfree(c); -} - -static VALUE allocate(VALUE klass) -{ - sqlite3RubyPtr ctx = xcalloc((size_t)1, sizeof(sqlite3Ruby)); - return Data_Wrap_Struct(klass, NULL, deallocate, ctx); -} - -static char * -utf16_string_value_ptr(VALUE str) -{ - StringValue(str); - rb_str_buf_cat(str, "\x00", 1L); - return RSTRING_PTR(str); -} - -/* call-seq: SQLite3::Database.new(file, options = {}) - * - * Create a new Database object that opens the given file. If utf16 - * is +true+, the filename is interpreted as a UTF-16 encoded string. - * - * By default, the new database will return result rows as arrays - * (#results_as_hash) and has type translation disabled (#type_translation=). - */ -static VALUE initialize(int argc, VALUE *argv, VALUE self) -{ - sqlite3RubyPtr ctx; - VALUE file; - VALUE opts; - VALUE zvfs; - int status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - - rb_scan_args(argc, argv, "12", &file, &opts, &zvfs); - if(NIL_P(opts)) opts = rb_hash_new(); - -#ifdef HAVE_RUBY_ENCODING_H - if(UTF16_LE_P(file)) { - status = sqlite3_open16(utf16_string_value_ptr(file), &ctx->db); - } else { -#endif - - if(Qtrue == rb_hash_aref(opts, sym_utf16)) { - status = sqlite3_open16(utf16_string_value_ptr(file), &ctx->db); - } else { - -#ifdef HAVE_RUBY_ENCODING_H - if(!UTF8_P(file)) { - file = rb_str_export_to_enc(file, rb_utf8_encoding()); - } -#endif - - status = sqlite3_open_v2( - StringValuePtr(file), - &ctx->db, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, - NIL_P(zvfs) ? NULL : StringValuePtr(zvfs) - ); - } - -#ifdef HAVE_RUBY_ENCODING_H - } -#endif - - CHECK(ctx->db, status) - - rb_iv_set(self, "@tracefunc", Qnil); - rb_iv_set(self, "@authorizer", Qnil); - rb_iv_set(self, "@encoding", Qnil); - rb_iv_set(self, "@busy_handler", Qnil); - rb_iv_set(self, "@collations", rb_hash_new()); - rb_iv_set(self, "@results_as_hash", rb_hash_aref(opts, sym_results_as_hash)); - rb_iv_set(self, "@type_translation", rb_hash_aref(opts, sym_type_translation)); - - if(rb_block_given_p()) { - rb_yield(self); - rb_funcall(self, rb_intern("close"), 0); - } - - return self; -} - -/* call-seq: db.close - * - * Closes this database. - */ -static VALUE sqlite3_rb_close(VALUE self) -{ - sqlite3RubyPtr ctx; - sqlite3 * db; - Data_Get_Struct(self, sqlite3Ruby, ctx); - - db = ctx->db; - CHECK(db, sqlite3_close(ctx->db)); - - ctx->db = NULL; - - return self; -} - -/* call-seq: db.closed? - * - * Returns +true+ if this database instance has been closed (see #close). - */ -static VALUE closed_p(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - - if(!ctx->db) return Qtrue; - - return Qfalse; -} - -/* call-seq: total_changes - * - * Returns the total number of changes made to this database instance - * since it was opened. - */ -static VALUE total_changes(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return INT2NUM((long)sqlite3_total_changes(ctx->db)); -} - -static void tracefunc(void * data, const char *sql) -{ - VALUE self = (VALUE)data; - VALUE thing = rb_iv_get(self, "@tracefunc"); - rb_funcall(thing, rb_intern("call"), 1, rb_str_new2(sql)); -} - -/* call-seq: - * trace { |sql| ... } - * trace(Class.new { def call sql; end }.new) - * - * Installs (or removes) a block that will be invoked for every SQL - * statement executed. The block receives one parameter: the SQL statement - * executed. If the block is +nil+, any existing tracer will be uninstalled. - */ -static VALUE trace(int argc, VALUE *argv, VALUE self) -{ - sqlite3RubyPtr ctx; - VALUE block; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - rb_scan_args(argc, argv, "01", &block); - - if(NIL_P(block) && rb_block_given_p()) block = rb_block_proc(); - - rb_iv_set(self, "@tracefunc", block); - - sqlite3_trace(ctx->db, NIL_P(block) ? NULL : tracefunc, (void *)self); - - return self; -} - -static int rb_sqlite3_busy_handler(void * ctx, int count) -{ - VALUE self = (VALUE)(ctx); - VALUE handle = rb_iv_get(self, "@busy_handler"); - VALUE result = rb_funcall(handle, rb_intern("call"), 1, INT2NUM((long)count)); - - if(Qfalse == result) return 0; - - return 1; -} - -/* call-seq: - * busy_handler { |count| ... } - * busy_handler(Class.new { def call count; end }.new) - * - * Register a busy handler with this database instance. When a requested - * resource is busy, this handler will be invoked. If the handler returns - * +false+, the operation will be aborted; otherwise, the resource will - * be requested again. - * - * The handler will be invoked with the name of the resource that was - * busy, and the number of times it has been retried. - * - * See also the mutually exclusive #busy_timeout. - */ -static VALUE busy_handler(int argc, VALUE *argv, VALUE self) -{ - sqlite3RubyPtr ctx; - VALUE block; - int status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - rb_scan_args(argc, argv, "01", &block); - - if(NIL_P(block) && rb_block_given_p()) block = rb_block_proc(); - - rb_iv_set(self, "@busy_handler", block); - - status = sqlite3_busy_handler( - ctx->db, NIL_P(block) ? NULL : rb_sqlite3_busy_handler, (void *)self); - - CHECK(ctx->db, status); - - return self; -} - -/* call-seq: last_insert_row_id - * - * Obtains the unique row ID of the last row to be inserted by this Database - * instance. - */ -static VALUE last_insert_row_id(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return LL2NUM(sqlite3_last_insert_rowid(ctx->db)); -} - -static VALUE sqlite3val2rb(sqlite3_value * val) -{ - switch(sqlite3_value_type(val)) { - case SQLITE_INTEGER: - return LL2NUM(sqlite3_value_int64(val)); - break; - case SQLITE_FLOAT: - return rb_float_new(sqlite3_value_double(val)); - break; - case SQLITE_TEXT: - return rb_tainted_str_new2((const char *)sqlite3_value_text(val)); - break; - case SQLITE_BLOB: - return rb_tainted_str_new2((const char *)sqlite3_value_blob(val)); - break; - case SQLITE_NULL: - return Qnil; - break; - default: - rb_raise(rb_eRuntimeError, "bad type"); /* FIXME */ - } -} - -static void set_sqlite3_func_result(sqlite3_context * ctx, VALUE result) -{ - switch(TYPE(result)) { - case T_NIL: - sqlite3_result_null(ctx); - break; - case T_FIXNUM: - sqlite3_result_int64(ctx, (sqlite3_int64)FIX2LONG(result)); - break; - case T_BIGNUM: -#if SIZEOF_LONG < 8 - if (RBIGNUM_LEN(result) * SIZEOF_BDIGITS <= 8) { - sqlite3_result_int64(ctx, NUM2LL(result)); - break; - } -#endif - case T_FLOAT: - sqlite3_result_double(ctx, NUM2DBL(result)); - break; - case T_STRING: - sqlite3_result_text( - ctx, - (const char *)StringValuePtr(result), - (int)RSTRING_LEN(result), - SQLITE_TRANSIENT - ); - break; - default: - rb_raise(rb_eRuntimeError, "can't return %s", - rb_class2name(CLASS_OF(result))); - } -} - -static void rb_sqlite3_func(sqlite3_context * ctx, int argc, sqlite3_value **argv) -{ - VALUE callable = (VALUE)sqlite3_user_data(ctx); - VALUE * params = NULL; - VALUE result; - int i; - - if (argc > 0) { - params = xcalloc((size_t)argc, sizeof(VALUE *)); - - for(i = 0; i < argc; i++) { - params[i] = sqlite3val2rb(argv[i]); - } - } - - result = rb_funcall2(callable, rb_intern("call"), argc, params); - xfree(params); - - set_sqlite3_func_result(ctx, result); -} - -#ifndef HAVE_RB_PROC_ARITY -int rb_proc_arity(VALUE self) -{ - return (int)NUM2INT(rb_funcall(self, rb_intern("arity"), 0)); -} -#endif - -/* call-seq: define_function(name) { |args,...| } - * - * Define a function named +name+ with +args+. The arity of the block - * will be used as the arity for the function defined. - */ -static VALUE define_function(VALUE self, VALUE name) -{ - sqlite3RubyPtr ctx; - VALUE block; - int status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - block = rb_block_proc(); - - status = sqlite3_create_function( - ctx->db, - StringValuePtr(name), - rb_proc_arity(block), - SQLITE_UTF8, - (void *)block, - rb_sqlite3_func, - NULL, - NULL - ); - - CHECK(ctx->db, status); - - return self; -} - -static int sqlite3_obj_method_arity(VALUE obj, ID id) -{ - VALUE method = rb_funcall(obj, rb_intern("method"), 1, ID2SYM(id)); - VALUE arity = rb_funcall(method, rb_intern("arity"), 0); - - return (int)NUM2INT(arity); -} - -static void rb_sqlite3_step(sqlite3_context * ctx, int argc, sqlite3_value **argv) -{ - VALUE callable = (VALUE)sqlite3_user_data(ctx); - VALUE * params = NULL; - int i; - - if (argc > 0) { - params = xcalloc((size_t)argc, sizeof(VALUE *)); - for(i = 0; i < argc; i++) { - params[i] = sqlite3val2rb(argv[i]); - } - } - rb_funcall2(callable, rb_intern("step"), argc, params); - xfree(params); -} - -static void rb_sqlite3_final(sqlite3_context * ctx) -{ - VALUE callable = (VALUE)sqlite3_user_data(ctx); - VALUE result = rb_funcall(callable, rb_intern("finalize"), 0); - set_sqlite3_func_result(ctx, result); -} - -/* call-seq: define_aggregator(name, aggregator) - * - * Define an aggregate function named +name+ using the object +aggregator+. - * +aggregator+ must respond to +step+ and +finalize+. +step+ will be called - * with row information and +finalize+ must return the return value for the - * aggregator function. - */ -static VALUE define_aggregator(VALUE self, VALUE name, VALUE aggregator) -{ - sqlite3RubyPtr ctx; - int arity, status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - arity = sqlite3_obj_method_arity(aggregator, rb_intern("step")); - - status = sqlite3_create_function( - ctx->db, - StringValuePtr(name), - arity, - SQLITE_UTF8, - (void *)aggregator, - NULL, - rb_sqlite3_step, - rb_sqlite3_final - ); - - rb_iv_set(self, "@agregator", aggregator); - - CHECK(ctx->db, status); - - return self; -} - -/* call-seq: interrupt - * - * Interrupts the currently executing operation, causing it to abort. - */ -static VALUE interrupt(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - sqlite3_interrupt(ctx->db); - - return self; -} - -/* call-seq: errmsg - * - * Return a string describing the last error to have occurred with this - * database. - */ -static VALUE errmsg(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return rb_str_new2(sqlite3_errmsg(ctx->db)); -} - -/* call-seq: errcode - * - * Return an integer representing the last error to have occurred with this - * database. - */ -static VALUE errcode_(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return INT2NUM((long)sqlite3_errcode(ctx->db)); -} - -/* call-seq: complete?(sql) - * - * Return +true+ if the string is a valid (ie, parsable) SQL statement, and - * +false+ otherwise. - */ -static VALUE complete_p(VALUE UNUSED(self), VALUE sql) -{ - if(sqlite3_complete(StringValuePtr(sql))) - return Qtrue; - - return Qfalse; -} - -/* call-seq: changes - * - * Returns the number of changes made to this database instance by the last - * operation performed. Note that a "delete from table" without a where - * clause will not affect this value. - */ -static VALUE changes(VALUE self) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - return INT2NUM(sqlite3_changes(ctx->db)); -} - -static int rb_sqlite3_auth( - void *ctx, - int _action, - const char * _a, - const char * _b, - const char * _c, - const char * _d) -{ - VALUE self = (VALUE)ctx; - VALUE action = INT2NUM(_action); - VALUE a = _a ? rb_str_new2(_a) : Qnil; - VALUE b = _b ? rb_str_new2(_b) : Qnil; - VALUE c = _c ? rb_str_new2(_c) : Qnil; - VALUE d = _d ? rb_str_new2(_d) : Qnil; - VALUE callback = rb_iv_get(self, "@authorizer"); - VALUE result = rb_funcall(callback, rb_intern("call"), 5, action, a, b, c, d); - - if(T_FIXNUM == TYPE(result)) return (int)NUM2INT(result); - if(Qtrue == result) return SQLITE_OK; - if(Qfalse == result) return SQLITE_DENY; - - return SQLITE_IGNORE; -} - -/* call-seq: set_authorizer = auth - * - * Set the authorizer for this database. +auth+ must respond to +call+, and - * +call+ must take 5 arguments. - * - * Installs (or removes) a block that will be invoked for every access - * to the database. If the block returns 0 (or +true+), the statement - * is allowed to proceed. Returning 1 or false causes an authorization error to - * occur, and returning 2 or nil causes the access to be silently denied. - */ -static VALUE set_authorizer(VALUE self, VALUE authorizer) -{ - sqlite3RubyPtr ctx; - int status; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - status = sqlite3_set_authorizer( - ctx->db, NIL_P(authorizer) ? NULL : rb_sqlite3_auth, (void *)self - ); - - CHECK(ctx->db, status); - - rb_iv_set(self, "@authorizer", authorizer); - - return self; -} - -/* call-seq: db.busy_timeout = ms - * - * Indicates that if a request for a resource terminates because that - * resource is busy, SQLite should sleep and retry for up to the indicated - * number of milliseconds. By default, SQLite does not retry - * busy resources. To restore the default behavior, send 0 as the - * +ms+ parameter. - * - * See also the mutually exclusive #busy_handler. - */ -static VALUE set_busy_timeout(VALUE self, VALUE timeout) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - CHECK(ctx->db, sqlite3_busy_timeout(ctx->db, (int)NUM2INT(timeout))); - - return self; -} - -int rb_comparator_func(void * ctx, int a_len, const void * a, int b_len, const void * b) -{ - VALUE comparator; - VALUE a_str; - VALUE b_str; - VALUE comparison; -#ifdef HAVE_RUBY_ENCODING_H - rb_encoding * internal_encoding; - - internal_encoding = rb_default_internal_encoding(); -#endif - - comparator = (VALUE)ctx; - a_str = rb_str_new((const char *)a, a_len); - b_str = rb_str_new((const char *)b, b_len); - -#ifdef HAVE_RUBY_ENCODING_H - rb_enc_associate_index(a_str, rb_utf8_encindex()); - rb_enc_associate_index(b_str, rb_utf8_encindex()); - - if(internal_encoding) { - a_str = rb_str_export_to_enc(a_str, internal_encoding); - b_str = rb_str_export_to_enc(b_str, internal_encoding); - } -#endif - - comparison = rb_funcall(comparator, rb_intern("compare"), 2, a_str, b_str); - - return NUM2INT(comparison); -} - -/* call-seq: db.collation(name, comparator) - * - * Add a collation with name +name+, and a +comparator+ object. The - * +comparator+ object should implement a method called "compare" that takes - * two parameters and returns an integer less than, equal to, or greater than - * 0. - */ -static VALUE collation(VALUE self, VALUE name, VALUE comparator) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - CHECK(ctx->db, sqlite3_create_collation_v2( - ctx->db, - StringValuePtr(name), - SQLITE_UTF8, - (void *)comparator, - NIL_P(comparator) ? NULL : rb_comparator_func, - NULL)); - - /* Make sure our comparator doesn't get garbage collected. */ - rb_hash_aset(rb_iv_get(self, "@collations"), name, comparator); - - return self; -} - -/* call-seq: db.load_extension(file) - * - * Loads an SQLite extension library from the named file. Extension - * loading must be enabled using db.enable_load_extension(1) prior - * to calling this API. - */ -static VALUE load_extension(VALUE self, VALUE file) -{ - sqlite3RubyPtr ctx; - int status; - char *errMsg; - VALUE errexp; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - status = sqlite3_load_extension(ctx->db, RSTRING_PTR(file), 0, &errMsg); - if (status != SQLITE_OK) - { - errexp = rb_exc_new2(rb_eRuntimeError, errMsg); - sqlite3_free(errMsg); - rb_exc_raise(errexp); - } - - return self; -} - -/* call-seq: db.enable_load_extension(onoff) - * - * Enable or disable extension loading. - */ -static VALUE enable_load_extension(VALUE self, VALUE onoff) -{ - sqlite3RubyPtr ctx; - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - CHECK(ctx->db, sqlite3_enable_load_extension(ctx->db, (int)NUM2INT(onoff))); - - return self; -} - -#ifdef HAVE_RUBY_ENCODING_H -static int enc_cb(void * _self, int UNUSED(columns), char **data, char **UNUSED(names)) -{ - VALUE self = (VALUE)_self; - - int index = rb_enc_find_index(data[0]); - rb_encoding * e = rb_enc_from_index(index); - rb_iv_set(self, "@encoding", rb_enc_from_encoding(e)); - - return 0; -} -#else -static int enc_cb(void * _self, int UNUSED(columns), char **data, char **UNUSED(names)) -{ - VALUE self = (VALUE)_self; - - rb_iv_set(self, "@encoding", rb_str_new2(data[0])); - - return 0; -} -#endif - -/* call-seq: db.encoding - * - * Fetch the encoding set on this database - */ -static VALUE db_encoding(VALUE self) -{ - sqlite3RubyPtr ctx; - VALUE enc; - - Data_Get_Struct(self, sqlite3Ruby, ctx); - REQUIRE_OPEN_DB(ctx); - - enc = rb_iv_get(self, "@encoding"); - - if(NIL_P(enc)) { - sqlite3_exec(ctx->db, "PRAGMA encoding", enc_cb, (void *)self, NULL); - } - - return rb_iv_get(self, "@encoding"); -} - -void init_sqlite3_database() -{ - ID id_utf16, id_results_as_hash, id_type_translation; -#if 0 - VALUE mSqlite3 = rb_define_module("SQLite3"); -#endif - cSqlite3Database = rb_define_class_under(mSqlite3, "Database", rb_cObject); - - rb_define_alloc_func(cSqlite3Database, allocate); - rb_define_method(cSqlite3Database, "initialize", initialize, -1); - rb_define_method(cSqlite3Database, "collation", collation, 2); - rb_define_method(cSqlite3Database, "close", sqlite3_rb_close, 0); - rb_define_method(cSqlite3Database, "closed?", closed_p, 0); - rb_define_method(cSqlite3Database, "total_changes", total_changes, 0); - rb_define_method(cSqlite3Database, "trace", trace, -1); - rb_define_method(cSqlite3Database, "last_insert_row_id", last_insert_row_id, 0); - rb_define_method(cSqlite3Database, "define_function", define_function, 1); - rb_define_method(cSqlite3Database, "define_aggregator", define_aggregator, 2); - rb_define_method(cSqlite3Database, "interrupt", interrupt, 0); - rb_define_method(cSqlite3Database, "errmsg", errmsg, 0); - rb_define_method(cSqlite3Database, "errcode", errcode_, 0); - rb_define_method(cSqlite3Database, "complete?", complete_p, 1); - rb_define_method(cSqlite3Database, "changes", changes, 0); - rb_define_method(cSqlite3Database, "authorizer=", set_authorizer, 1); - rb_define_method(cSqlite3Database, "busy_handler", busy_handler, -1); - rb_define_method(cSqlite3Database, "busy_timeout=", set_busy_timeout, 1); - -#ifdef HAVE_SQLITE3_LOAD_EXTENSION - rb_define_method(cSqlite3Database, "load_extension", load_extension, 1); -#endif - -#ifdef HAVE_SQLITE3_ENABLE_LOAD_EXTENSION - rb_define_method(cSqlite3Database, "enable_load_extension", enable_load_extension, 1); -#endif - - rb_define_method(cSqlite3Database, "encoding", db_encoding, 0); - - id_utf16 = rb_intern("utf16"); - sym_utf16 = ID2SYM(id_utf16); - id_results_as_hash = rb_intern("results_as_hash"); - sym_results_as_hash = ID2SYM(id_results_as_hash); - id_type_translation = rb_intern("type_translation"); - sym_type_translation = ID2SYM(id_type_translation); -} diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.h b/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.h deleted file mode 100644 index 63e5e961..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/database.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef SQLITE3_DATABASE_RUBY -#define SQLITE3_DATABASE_RUBY - -#include - -struct _sqlite3Ruby { - sqlite3 *db; -}; - -typedef struct _sqlite3Ruby sqlite3Ruby; -typedef sqlite3Ruby * sqlite3RubyPtr; - -void init_sqlite3_database(); - -#endif diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.c b/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.c deleted file mode 100644 index 36a78e7e..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.c +++ /dev/null @@ -1,94 +0,0 @@ -#include - -void rb_sqlite3_raise(sqlite3 * db, int status) -{ - VALUE klass = Qnil; - - switch(status) { - case SQLITE_OK: - return; - break; - case SQLITE_ERROR: - klass = rb_path2class("SQLite3::SQLException"); - break; - case SQLITE_INTERNAL: - klass = rb_path2class("SQLite3::InternalException"); - break; - case SQLITE_PERM: - klass = rb_path2class("SQLite3::PermissionException"); - break; - case SQLITE_ABORT: - klass = rb_path2class("SQLite3::AbortException"); - break; - case SQLITE_BUSY: - klass = rb_path2class("SQLite3::BusyException"); - break; - case SQLITE_LOCKED: - klass = rb_path2class("SQLite3::LockedException"); - break; - case SQLITE_NOMEM: - klass = rb_path2class("SQLite3::MemoryException"); - break; - case SQLITE_READONLY: - klass = rb_path2class("SQLite3::ReadOnlyException"); - break; - case SQLITE_INTERRUPT: - klass = rb_path2class("SQLite3::InterruptException"); - break; - case SQLITE_IOERR: - klass = rb_path2class("SQLite3::IOException"); - break; - case SQLITE_CORRUPT: - klass = rb_path2class("SQLite3::CorruptException"); - break; - case SQLITE_NOTFOUND: - klass = rb_path2class("SQLite3::NotFoundException"); - break; - case SQLITE_FULL: - klass = rb_path2class("SQLite3::FullException"); - break; - case SQLITE_CANTOPEN: - klass = rb_path2class("SQLite3::CantOpenException"); - break; - case SQLITE_PROTOCOL: - klass = rb_path2class("SQLite3::ProtocolException"); - break; - case SQLITE_EMPTY: - klass = rb_path2class("SQLite3::EmptyException"); - break; - case SQLITE_SCHEMA: - klass = rb_path2class("SQLite3::SchemaChangedException"); - break; - case SQLITE_TOOBIG: - klass = rb_path2class("SQLite3::TooBigException"); - break; - case SQLITE_CONSTRAINT: - klass = rb_path2class("SQLite3::ConstraintException"); - break; - case SQLITE_MISMATCH: - klass = rb_path2class("SQLite3::MismatchException"); - break; - case SQLITE_MISUSE: - klass = rb_path2class("SQLite3::MisuseException"); - break; - case SQLITE_NOLFS: - klass = rb_path2class("SQLite3::UnsupportedException"); - break; - case SQLITE_AUTH: - klass = rb_path2class("SQLite3::AuthorizationException"); - break; - case SQLITE_FORMAT: - klass = rb_path2class("SQLite3::FormatException"); - break; - case SQLITE_RANGE: - klass = rb_path2class("SQLite3::RangeException"); - break; - case SQLITE_NOTADB: - klass = rb_path2class("SQLite3::NotADatabaseException"); - break; - default: - klass = rb_eRuntimeError; - } - - rb_raise(klass, "%s", sqlite3_errmsg(db)); -} diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.h b/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.h deleted file mode 100644 index 55b687e3..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/exception.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SQLITE3_EXCEPTION_RUBY -#define SQLITE3_EXCEPTION_RUBY - -#define CHECK(_db, _status) rb_sqlite3_raise(_db, _status); - -void rb_sqlite3_raise(sqlite3 * db, int status); - -#endif diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/extconf.rb b/vendor/plugins/sqlite3-ruby/ext/sqlite3/extconf.rb deleted file mode 100644 index 58989275..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/extconf.rb +++ /dev/null @@ -1,43 +0,0 @@ -ENV['RC_ARCHS'] = '' if RUBY_PLATFORM =~ /darwin/ - -require 'mkmf' - -# :stopdoc: - -RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC'] - -sqlite = dir_config('sqlite3', ['/usr/local', '/opt/local', '/usr']) - -if RUBY_PLATFORM =~ /mswin/ - $CFLAGS << ' -W3' -else - $CFLAGS << ' -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion' << - ' -Wmissing-noreturn -Winline' -end - -def asplode missing - if RUBY_PLATFORM =~ /mswin/ - abort "#{missing} is missing. Install SQLite3 from " + - "http://www.sqlite.org/ first." - else - abort "#{missing} is missing. Try 'port install sqlite3 +universal' " + - "or 'yum install sqlite3-devel'" - end -end - -asplode('sqlite3.h') unless find_header 'sqlite3.h' -asplode('sqlite3') unless find_library 'sqlite3', 'sqlite3_libversion_number' - -# Functions defined in 1.9 but not 1.8 -have_func('rb_proc_arity') - -unless have_func('sqlite3_initialize') && have_func('sqlite3_next_stmt') - abort "sqlite3-ruby only supports sqlite3 versions 3.6.16+, please upgrade!" -end - -# These functions may not be defined -have_func('sqlite3_column_database_name') -have_func('sqlite3_enable_load_extension') -have_func('sqlite3_load_extension') - -create_makefile('sqlite3/sqlite3_native') diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3.c b/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3.c deleted file mode 100644 index a7bbe0b6..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3.c +++ /dev/null @@ -1,33 +0,0 @@ -#include - -VALUE mSqlite3; -VALUE cSqlite3Blob; - -static VALUE libversion(VALUE UNUSED(klass)) -{ - return INT2NUM(sqlite3_libversion_number()); -} - -void Init_sqlite3_native() -{ - /* - * SQLite3 is a wrapper around the popular database - * sqlite[http://sqlite.org]. - * - * For an example of usage, see SQLite3::Database. - */ - mSqlite3 = rb_define_module("SQLite3"); - - /* A class for differentiating between strings and blobs, when binding them - * into statements. - */ - cSqlite3Blob = rb_define_class_under(mSqlite3, "Blob", rb_cString); - - /* Initialize the sqlite3 library */ - sqlite3_initialize(); - - init_sqlite3_database(); - init_sqlite3_statement(); - - rb_define_singleton_method(mSqlite3, "libversion", libversion, 0); -} diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3_ruby.h b/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3_ruby.h deleted file mode 100644 index 5b619ef3..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/sqlite3_ruby.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef SQLITE3_RUBY -#define SQLITE3_RUBY - -#include - -#ifdef UNUSED -#elif defined(__GNUC__) -# define UNUSED(x) UNUSED_ ## x __attribute__((unused)) -#elif defined(__LCLINT__) -# define UNUSED(x) /*@unused@*/ x -#else -# define UNUSED(x) x -#endif - -#ifndef RBIGNUM_LEN -#define RBIGNUM_LEN(x) RBIGNUM(x)->len -#endif - -#ifdef HAVE_RUBY_ENCODING_H -#include - -#define UTF8_P(_obj) (rb_enc_get_index(_obj) == rb_utf8_encindex()) -#define UTF16_LE_P(_obj) (rb_enc_get_index(_obj) == rb_enc_find_index("UTF-16LE")) -#define SQLITE3_UTF8_STR_NEW2(_obj) \ - (rb_enc_associate_index(rb_str_new2(_obj), rb_utf8_encindex())) - -#else - -#define SQLITE3_UTF8_STR_NEW2(_obj) (rb_str_new2(_obj)) - -#endif - - -#include - -extern VALUE mSqlite3; -extern VALUE cSqlite3Blob; - -#include -#include -#include - -#endif diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.c b/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.c deleted file mode 100644 index 1b93fd47..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.c +++ /dev/null @@ -1,419 +0,0 @@ -#include - -#define REQUIRE_OPEN_STMT(_ctxt) \ - if(!_ctxt->st) \ - rb_raise(rb_path2class("SQLite3::Exception"), "cannot use a closed statement"); - -VALUE cSqlite3Statement; - -static void deallocate(void * ctx) -{ - sqlite3StmtRubyPtr c = (sqlite3StmtRubyPtr)ctx; - xfree(c); -} - -static VALUE allocate(VALUE klass) -{ - sqlite3StmtRubyPtr ctx = xcalloc((size_t)1, sizeof(sqlite3StmtRuby)); - ctx->st = NULL; - ctx->done_p = 0; - - return Data_Wrap_Struct(klass, NULL, deallocate, ctx); -} - -/* call-seq: SQLite3::Statement.new(db, sql) - * - * Create a new statement attached to the given Database instance, and which - * encapsulates the given SQL text. If the text contains more than one - * statement (i.e., separated by semicolons), then the #remainder property - * will be set to the trailing text. - */ -static VALUE initialize(VALUE self, VALUE db, VALUE sql) -{ - sqlite3RubyPtr db_ctx; - sqlite3StmtRubyPtr ctx; - const char *tail = NULL; - int status; - - Data_Get_Struct(db, sqlite3Ruby, db_ctx); - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - if(!db_ctx->db) - rb_raise(rb_eArgError, "prepare called on a closed database"); - -#ifdef HAVE_RUBY_ENCODING_H - if(!UTF8_P(sql)) { - VALUE encoding = rb_funcall(db, rb_intern("encoding"), 0); - rb_encoding * enc = NIL_P(encoding) ? rb_utf8_encoding() : - rb_to_encoding(encoding); - sql = rb_str_export_to_enc(sql, enc); - } -#endif - - status = sqlite3_prepare_v2( - db_ctx->db, - (const char *)StringValuePtr(sql), - (int)RSTRING_LEN(sql), - &ctx->st, - &tail - ); - - CHECK(db_ctx->db, status); - - rb_iv_set(self, "@connection", db); - rb_iv_set(self, "@remainder", rb_str_new2(tail)); - rb_iv_set(self, "@columns", Qnil); - rb_iv_set(self, "@types", Qnil); - - return self; -} - -/* call-seq: stmt.close - * - * Closes the statement by finalizing the underlying statement - * handle. The statement must not be used after being closed. - */ -static VALUE sqlite3_rb_close(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - sqlite3 * db; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - REQUIRE_OPEN_STMT(ctx); - - db = sqlite3_db_handle(ctx->st); - CHECK(db, sqlite3_finalize(ctx->st)); - - ctx->st = NULL; - - return self; -} - -/* call-seq: stmt.closed? - * - * Returns true if the statement has been closed. - */ -static VALUE closed_p(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - if(!ctx->st) return Qtrue; - - return Qfalse; -} - -static VALUE step(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - sqlite3_stmt *stmt; - int value, length; - VALUE list; -#ifdef HAVE_RUBY_ENCODING_H - rb_encoding * internal_encoding; - int enc_index; -#endif - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - REQUIRE_OPEN_STMT(ctx); - - if(ctx->done_p) return Qnil; - -#ifdef HAVE_RUBY_ENCODING_H - { - VALUE db = rb_iv_get(self, "@connection"); - VALUE encoding = rb_funcall(db, rb_intern("encoding"), 0); - enc_index = NIL_P(encoding) ? rb_utf8_encindex() : rb_to_encoding_index(encoding); - internal_encoding = rb_default_internal_encoding(); - } -#endif - - stmt = ctx->st; - - value = sqlite3_step(stmt); - length = sqlite3_column_count(stmt); - list = rb_ary_new2((long)length); - - switch(value) { - case SQLITE_ROW: - { - int i; - for(i = 0; i < length; i++) { - switch(sqlite3_column_type(stmt, i)) { - case SQLITE_INTEGER: - rb_ary_push(list, LL2NUM(sqlite3_column_int64(stmt, i))); - break; - case SQLITE_FLOAT: - rb_ary_push(list, rb_float_new(sqlite3_column_double(stmt, i))); - break; - case SQLITE_TEXT: - { - VALUE str = rb_tainted_str_new( - (const char *)sqlite3_column_text(stmt, i), - (long)sqlite3_column_bytes(stmt, i) - ); -#ifdef HAVE_RUBY_ENCODING_H - rb_enc_associate_index(str, enc_index); - if(internal_encoding) - str = rb_str_export_to_enc(str, internal_encoding); -#endif - rb_ary_push(list, str); - } - break; - case SQLITE_BLOB: - { - VALUE str = rb_tainted_str_new( - (const char *)sqlite3_column_blob(stmt, i), - (long)sqlite3_column_bytes(stmt, i) - ); - rb_ary_push(list, str); - } - break; - case SQLITE_NULL: - rb_ary_push(list, Qnil); - break; - default: - rb_raise(rb_eRuntimeError, "bad type"); - } - } - } - break; - case SQLITE_DONE: - ctx->done_p = 1; - return Qnil; - break; - default: - CHECK(sqlite3_db_handle(ctx->st), value); - } - - return list; -} - -/* call-seq: stmt.bind_param(key, value) - * - * Binds value to the named (or positional) placeholder. If +param+ is a - * Fixnum, it is treated as an index for a positional placeholder. - * Otherwise it is used as the name of the placeholder to bind to. - * - * See also #bind_params. - */ -static VALUE bind_param(VALUE self, VALUE key, VALUE value) -{ - sqlite3StmtRubyPtr ctx; - int status; - int index; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - switch(TYPE(key)) { - case T_SYMBOL: - key = rb_funcall(key, rb_intern("to_s"), 0); - case T_STRING: - if(RSTRING_PTR(key)[0] != ':') key = rb_str_plus(rb_str_new2(":"), key); - index = sqlite3_bind_parameter_index(ctx->st, StringValuePtr(key)); - break; - default: - index = (int)NUM2INT(key); - } - - if(index == 0) - rb_raise(rb_path2class("SQLite3::Exception"), "no such bind parameter"); - - switch(TYPE(value)) { - case T_STRING: - if(CLASS_OF(value) == cSqlite3Blob -#ifdef HAVE_RUBY_ENCODING_H - || rb_enc_get_index(value) == rb_ascii8bit_encindex() -#endif - ) { - status = sqlite3_bind_blob( - ctx->st, - index, - (const char *)StringValuePtr(value), - (int)RSTRING_LEN(value), - SQLITE_TRANSIENT - ); - } else { -#ifdef HAVE_RUBY_ENCODING_H - if(!UTF8_P(value)) { - VALUE db = rb_iv_get(self, "@connection"); - VALUE encoding = rb_funcall(db, rb_intern("encoding"), 0); - rb_encoding * enc = rb_to_encoding(encoding); - value = rb_str_export_to_enc(value, enc); - } -#endif - - status = sqlite3_bind_text( - ctx->st, - index, - (const char *)StringValuePtr(value), - (int)RSTRING_LEN(value), - SQLITE_TRANSIENT - ); - } - break; - case T_BIGNUM: -#if SIZEOF_LONG < 8 - if (RBIGNUM_LEN(value) * SIZEOF_BDIGITS <= 8) { - status = sqlite3_bind_int64(ctx->st, index, (sqlite3_int64)NUM2LL(value)); - break; - } -#endif - case T_FLOAT: - status = sqlite3_bind_double(ctx->st, index, NUM2DBL(value)); - break; - case T_FIXNUM: - status = sqlite3_bind_int64(ctx->st, index, (sqlite3_int64)FIX2LONG(value)); - break; - case T_NIL: - status = sqlite3_bind_null(ctx->st, index); - break; - default: - rb_raise(rb_eRuntimeError, "can't prepare %s", - rb_class2name(CLASS_OF(value))); - break; - } - - CHECK(sqlite3_db_handle(ctx->st), status); - - return self; -} - -/* call-seq: stmt.reset! - * - * Resets the statement. This is typically done internally, though it might - * occassionally be necessary to manually reset the statement. - */ -static VALUE reset_bang(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - int status; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - status = sqlite3_reset(ctx->st); - CHECK(sqlite3_db_handle(ctx->st), status); - - ctx->done_p = 0; - - return self; -} - -/* call-seq: stmt.done? - * - * returns true if all rows have been returned. - */ -static VALUE done_p(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - - if(ctx->done_p) return Qtrue; - return Qfalse; -} - -/* call-seq: stmt.column_count - * - * Returns the number of columns to be returned for this statement - */ -static VALUE column_count(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - return INT2NUM((long)sqlite3_column_count(ctx->st)); -} - -/* call-seq: stmt.column_name(index) - * - * Get the column name at +index+. 0 based. - */ -static VALUE column_name(VALUE self, VALUE index) -{ - sqlite3StmtRubyPtr ctx; - const char * name; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - name = sqlite3_column_name(ctx->st, (int)NUM2INT(index)); - - if(name) return rb_str_new2(name); - return Qnil; -} - -/* call-seq: stmt.column_decltype(index) - * - * Get the column type at +index+. 0 based. - */ -static VALUE column_decltype(VALUE self, VALUE index) -{ - sqlite3StmtRubyPtr ctx; - const char * name; - - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - name = sqlite3_column_decltype(ctx->st, (int)NUM2INT(index)); - - if(name) return rb_str_new2(name); - return Qnil; -} - -/* call-seq: stmt.bind_parameter_count - * - * Return the number of bind parameters - */ -static VALUE bind_parameter_count(VALUE self) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - return INT2NUM((long)sqlite3_bind_parameter_count(ctx->st)); -} - -#ifdef HAVE_SQLITE3_COLUMN_DATABASE_NAME - -/* call-seq: stmt.database_name(column_index) - * - * Return the database name for the column at +column_index+ - */ -static VALUE database_name(VALUE self, VALUE index) -{ - sqlite3StmtRubyPtr ctx; - Data_Get_Struct(self, sqlite3StmtRuby, ctx); - REQUIRE_OPEN_STMT(ctx); - - return SQLITE3_UTF8_STR_NEW2( - sqlite3_column_database_name(ctx->st, NUM2INT(index))); -} - -#endif - -void init_sqlite3_statement() -{ - cSqlite3Statement = rb_define_class_under(mSqlite3, "Statement", rb_cObject); - - rb_define_alloc_func(cSqlite3Statement, allocate); - rb_define_method(cSqlite3Statement, "initialize", initialize, 2); - rb_define_method(cSqlite3Statement, "close", sqlite3_rb_close, 0); - rb_define_method(cSqlite3Statement, "closed?", closed_p, 0); - rb_define_method(cSqlite3Statement, "bind_param", bind_param, 2); - rb_define_method(cSqlite3Statement, "reset!", reset_bang, 0); - rb_define_method(cSqlite3Statement, "step", step, 0); - rb_define_method(cSqlite3Statement, "done?", done_p, 0); - rb_define_method(cSqlite3Statement, "column_count", column_count, 0); - rb_define_method(cSqlite3Statement, "column_name", column_name, 1); - rb_define_method(cSqlite3Statement, "column_decltype", column_decltype, 1); - rb_define_method(cSqlite3Statement, "bind_parameter_count", bind_parameter_count, 0); - -#ifdef HAVE_SQLITE3_COLUMN_DATABASE_NAME - rb_define_method(cSqlite3Statement, "database_name", database_name, 1); -#endif -} diff --git a/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.h b/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.h deleted file mode 100644 index e7ef1f3a..00000000 --- a/vendor/plugins/sqlite3-ruby/ext/sqlite3/statement.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef SQLITE3_STATEMENT_RUBY -#define SQLITE3_STATEMENT_RUBY - -#include - -struct _sqlite3StmtRuby { - sqlite3_stmt *st; - int done_p; -}; - -typedef struct _sqlite3StmtRuby sqlite3StmtRuby; -typedef sqlite3StmtRuby * sqlite3StmtRubyPtr; - -void init_sqlite3_statement(); - -#endif diff --git a/vendor/plugins/sqlite3-ruby/faq/faq.rb b/vendor/plugins/sqlite3-ruby/faq/faq.rb deleted file mode 100644 index 61d7d01c..00000000 --- a/vendor/plugins/sqlite3-ruby/faq/faq.rb +++ /dev/null @@ -1,145 +0,0 @@ -require 'yaml' -require 'redcloth' - -def process_faq_list( faqs ) - puts "
    " - faqs.each do |faq| - process_faq_list_item faq - end - puts "
" -end - -def process_faq_list_item( faq ) - question = faq.keys.first - answer = faq.values.first - - print "
  • " - - question_text = RedCloth.new(question).to_html.gsub( %r{},"" ) - if answer.is_a?( Array ) - puts question_text - process_faq_list answer - else - print "#{question_text}" - end - - puts "
  • " -end - -def process_faq_descriptions( faqs, path=nil ) - faqs.each do |faq| - process_faq_description faq, path - end -end - -def process_faq_description( faq, path ) - question = faq.keys.first - path = ( path ? path + " " : "" ) + question - answer = faq.values.first - - if answer.is_a?( Array ) - process_faq_descriptions( answer, path ) - else - title = RedCloth.new( path ).to_html.gsub( %r{}, "" ) - answer = RedCloth.new( answer || "" ) - - puts "" - puts "
    #{title}
    " - puts "
    #{add_api_links(answer.to_html)}
    " - end -end - -API_OBJECTS = [ "Database", "Statement", "ResultSet", - "ParsedStatement", "Pragmas", "Translator" ].inject( "(" ) { |acc,name| - acc << "|" if acc.length > 1 - acc << name - acc - } + ")" - -def add_api_links( text ) - text.gsub( /#{API_OBJECTS}(#(\w+))?/ ) do - disp_obj = obj = $1 - - case obj - when "Pragmas"; disp_obj = "Database" - end - - method = $3 - s = "#{disp_obj}" - s << "##{method}" if method - s << "" - s - end -end - -faqs = YAML.load( File.read( "faq.yml" ) ) - -puts <<-EOF - - - SQLite3/Ruby FAQ - - - -

    SQLite/Ruby FAQ

    -
    -EOF - -process_faq_list( faqs ) -puts "
    " -process_faq_descriptions( faqs ) - -puts "" diff --git a/vendor/plugins/sqlite3-ruby/faq/faq.yml b/vendor/plugins/sqlite3-ruby/faq/faq.yml deleted file mode 100644 index f4bb4c1b..00000000 --- a/vendor/plugins/sqlite3-ruby/faq/faq.yml +++ /dev/null @@ -1,426 +0,0 @@ ---- -- "How do I do a database query?": - - "I just want an array of the rows...": >- - - Use the Database#execute method. If you don't give it a block, it will - return an array of all the rows: - - -
    -        require 'sqlite3'
    -
    -        db = SQLite3::Database.new( "test.db" )
    -        rows = db.execute( "select * from test" )
    -      
    - - - "I'd like to use a block to iterate through the rows...": >- - - Use the Database#execute method. If you give it a block, each row of the - result will be yielded to the block: - - -
    -        require 'sqlite3'
    -
    -        db = SQLite3::Database.new( "test.db" )
    -        db.execute( "select * from test" ) do |row|
    -          ...
    -        end
    -      
    - - - "I need to get the column names as well as the rows...": >- - - Use the Database#execute2 method. This works just like Database#execute; - if you don't give it a block, it returns an array of rows; otherwise, it - will yield each row to the block. _However_, the first row returned is - always an array of the column names from the query: - - -
    -        require 'sqlite3'
    -
    -        db = SQLite3::Database.new( "test.db" )
    -        columns, *rows = db.execute2( "select * from test" )
    -
    -        # or use a block:
    -
    -        columns = nil
    -        db.execute2( "select * from test" ) do |row|
    -          if columns.nil?
    -            columns = row
    -          else
    -            # process row
    -          end
    -        end
    -      
    - - - "I just want the first row of the result set...": >- - - Easy. Just call Database#get_first_row: - - -
    -        row = db.get_first_row( "select * from table" )
    -      
    - - - This also supports bind variables, just like Database#execute - and friends. - - - "I just want the first value of the first row of the result set...": >- - - Also easy. Just call Database#get_first_value: - - -
    -        count = db.get_first_value( "select count(*) from table" )
    -      
    - - - This also supports bind variables, just like Database#execute - and friends. - -- "How do I prepare a statement for repeated execution?": >- - If the same statement is going to be executed repeatedly, you can speed - things up a bit by _preparing_ the statement. You do this via the - Database#prepare method. It returns a Statement object, and you can - then invoke #execute on that to get the ResultSet: - - -
    -      stmt = db.prepare( "select * from person" )
    -
    -      1000.times do
    -        stmt.execute do |result|
    -          ...
    -        end
    -      end
    -
    -      stmt.close
    -
    -      # or, use a block
    -
    -      db.prepare( "select * from person" ) do |stmt|
    -        1000.times do
    -          stmt.execute do |result|
    -            ...
    -          end
    -        end
    -      end
    -    
    - - - This is made more useful by the ability to bind variables to placeholders - via the Statement#bind_param and Statement#bind_params methods. (See the - next FAQ for details.) - -- "How do I use placeholders in an SQL statement?": >- - Placeholders in an SQL statement take any of the following formats: - - - * @?@ - - * @?_nnn_@ - - * @:_word_@ - - - Where _n_ is an integer, and _word_ is an alpha-numeric identifier (or - number). When the placeholder is associated with a number, that number - identifies the index of the bind variable to replace it with. When it - is an identifier, it identifies the name of the correponding bind - variable. (In the instance of the first format--a single question - mark--the placeholder is assigned a number one greater than the last - index used, or 1 if it is the first.) - - - For example, here is a query using these placeholder formats: - - -
    -      select *
    -        from table
    -       where ( c = ?2 or c = ? )
    -         and d = :name
    -         and e = :1
    -    
    - - - This defines 5 different placeholders: 1, 2, 3, and "name". - - - You replace these placeholders by _binding_ them to values. This can be - accomplished in a variety of ways. - - - The Database#execute, and Database#execute2 methods all accept additional - arguments following the SQL statement. These arguments are assumed to be - bind parameters, and they are bound (positionally) to their corresponding - placeholders: - - -
    -      db.execute( "select * from table where a = ? and b = ?",
    -                  "hello",
    -                  "world" )
    -    
    - - - The above would replace the first question mark with 'hello' and the - second with 'world'. If the placeholders have an explicit index given, they - will be replaced with the bind parameter at that index (1-based). - - - If a Hash is given as a bind parameter, then its key/value pairs are bound - to the placeholders. This is how you bind by name: - - -
    -      db.execute( "select * from table where a = :name and b = :value",
    -                  "name" => "bob",
    -                  "value" => "priceless" )
    -    
    - - - You can also bind explicitly using the Statement object itself. Just pass - additional parameters to the Statement#execute statement: - - -
    -      db.prepare( "select * from table where a = :name and b = ?" ) do |stmt|
    -        stmt.execute "value", "name" => "bob"
    -      end
    -    
    - - - Or do a Database#prepare to get the Statement, and then use either - Statement#bind_param or Statement#bind_params: - - -
    -      stmt = db.prepare( "select * from table where a = :name and b = ?" )
    -
    -      stmt.bind_param( "name", "bob" )
    -      stmt.bind_param( 1, "value" )
    -
    -      # or
    -
    -      stmt.bind_params( "value", "name" => "bob" )
    -    
    - -- "How do I discover metadata about a query?": >- - - If you ever want to know the names or types of the columns in a result - set, you can do it in several ways. - - - The first way is to ask the row object itself. Each row will have a - property "fields" that returns an array of the column names. The row - will also have a property "types" that returns an array of the column - types: - - -
    -      rows = db.execute( "select * from table" )
    -      p rows[0].fields
    -      p rows[0].types
    -    
    - - - Obviously, this approach requires you to execute a statement that actually - returns data. If you don't know if the statement will return any rows, but - you still need the metadata, you can use Database#query and ask the - ResultSet object itself: - - -
    -      db.query( "select * from table" ) do |result|
    -        p result.columns
    -        p result.types
    -        ...
    -      end
    -    
    - - - Lastly, you can use Database#prepare and ask the Statement object what - the metadata are: - - -
    -      stmt = db.prepare( "select * from table" )
    -      p stmt.columns
    -      p stmt.types
    -    
    - -- "I'd like the rows to be indexible by column name.": >- - By default, each row from a query is returned as an Array of values. This - means that you can only obtain values by their index. Sometimes, however, - you would like to obtain values by their column name. - - - The first way to do this is to set the Database property "results_as_hash" - to true. If you do this, then all rows will be returned as Hash objects, - with the column names as the keys. (In this case, the "fields" property - is unavailable on the row, although the "types" property remains.) - - -
    -      db.results_as_hash = true
    -      db.execute( "select * from table" ) do |row|
    -        p row['column1']
    -        p row['column2']
    -      end
    -    
    - - - The other way is to use Ara Howard's - "ArrayFields":http://rubyforge.org/projects/arrayfields - module. Just require "arrayfields", and all of your rows will be indexable - by column name, even though they are still arrays! - - -
    -      require 'arrayfields'
    -
    -      ...
    -      db.execute( "select * from table" ) do |row|
    -        p row[0] == row['column1']
    -        p row[1] == row['column2']
    -      end
    -    
    - -- "I'd like the values from a query to be the correct types, instead of String.": >- - You can turn on "type translation" by setting Database#type_translation to - true: - - -
    -      db.type_translation = true
    -      db.execute( "select * from table" ) do |row|
    -        p row
    -      end
    -    
    - - - By doing this, each return value for each row will be translated to its - correct type, based on its declared column type. - - - You can even declare your own translation routines, if (for example) you are - using an SQL type that is not handled by default: - - -
    -      # assume "objects" table has the following schema:
    -      #   create table objects (
    -      #     name varchar2(20),
    -      #     thing object
    -      #   )
    -
    -      db.type_translation = true
    -      db.translator.add_translator( "object" ) do |type, value|
    -        db.decode( value )
    -      end
    -
    -      h = { :one=>:two, "three"=>"four", 5=>6 }
    -      dump = db.encode( h )
    -
    -      db.execute( "insert into objects values ( ?, ? )", "bob", dump )
    -
    -      obj = db.get_first_value( "select thing from objects where name='bob'" )
    -      p obj == h
    -    
    - -- "How do insert binary data into the database?": >- - Use blobs. Blobs are new features of SQLite3. You have to use bind - variables to make it work: - - -
    -      db.execute( "insert into foo ( ?, ? )",
    -        SQLite3::Blob.new( "\0\1\2\3\4\5" ),
    -        SQLite3::Blob.new( "a\0b\0c\0d ) )
    -    
    - - - The blob values must be indicated explicitly by binding each parameter to - a value of type SQLite3::Blob. - -- "How do I do a DDL (insert, update, delete) statement?": >- - You can actually do inserts, updates, and deletes in exactly the same way - as selects, but in general the Database#execute method will be most - convenient: - - -
    -      db.execute( "insert into table values ( ?, ? )", *bind_vars )
    -    
    - -- "How do I execute multiple statements in a single string?": >- - The standard query methods (Database#execute, Database#execute2, - Database#query, and Statement#execute) will only execute the first - statement in the string that is given to them. Thus, if you have a - string with multiple SQL statements, each separated by a string, - you can't use those methods to execute them all at once. - - - Instead, use Database#execute_batch: - - -
    -      sql = <
    -
    -
    -    Unlike the other query methods, Database#execute_batch accepts no
    -    block. It will also only ever return +nil+. Thus, it is really only
    -    suitable for batch processing of DDL statements.
    -
    -- "How do I begin/end a transaction?":
    -    Use Database#transaction to start a transaction. If you give it a block,
    -    the block will be automatically committed at the end of the block,
    -    unless an exception was raised, in which case the transaction will be
    -    rolled back. (Never explicitly call Database#commit or Database#rollback
    -    inside of a transaction block--you'll get errors when the block
    -    terminates!)
    -
    -
    -    
    -      database.transaction do |db|
    -        db.execute( "insert into table values ( 'a', 'b', 'c' )" )
    -        ...
    -      end
    -    
    - - - Alternatively, if you don't give a block to Database#transaction, the - transaction remains open until you explicitly call Database#commit or - Database#rollback. - - -
    -      db.transaction
    -      db.execute( "insert into table values ( 'a', 'b', 'c' )" )
    -      db.commit
    -    
    - - - Note that SQLite does not allow nested transactions, so you'll get errors - if you try to open a new transaction while one is already active. Use - Database#transaction_active? to determine whether a transaction is - active or not. - -#- "How do I discover metadata about a table/index?": -# -#- "How do I do tweak database settings?": diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3.rb deleted file mode 100644 index b17ce52d..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3.rb +++ /dev/null @@ -1,10 +0,0 @@ -# support multiple ruby version (fat binaries under windows) -begin - RUBY_VERSION =~ /(\d+.\d+)/ - require "sqlite3/#{$1}/sqlite3_native" -rescue LoadError - require 'sqlite3/sqlite3_native' -end - -require 'sqlite3/database' -require 'sqlite3/version' diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/constants.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/constants.rb deleted file mode 100644 index b316c2d8..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/constants.rb +++ /dev/null @@ -1,49 +0,0 @@ -module SQLite3 ; module Constants - - module TextRep - UTF8 = 1 - UTF16LE = 2 - UTF16BE = 3 - UTF16 = 4 - ANY = 5 - end - - module ColumnType - INTEGER = 1 - FLOAT = 2 - TEXT = 3 - BLOB = 4 - NULL = 5 - end - - module ErrorCode - OK = 0 # Successful result - ERROR = 1 # SQL error or missing database - INTERNAL = 2 # An internal logic error in SQLite - PERM = 3 # Access permission denied - ABORT = 4 # Callback routine requested an abort - BUSY = 5 # The database file is locked - LOCKED = 6 # A table in the database is locked - NOMEM = 7 # A malloc() failed - READONLY = 8 # Attempt to write a readonly database - INTERRUPT = 9 # Operation terminated by sqlite_interrupt() - IOERR = 10 # Some kind of disk I/O error occurred - CORRUPT = 11 # The database disk image is malformed - NOTFOUND = 12 # (Internal Only) Table or record not found - FULL = 13 # Insertion failed because database is full - CANTOPEN = 14 # Unable to open the database file - PROTOCOL = 15 # Database lock protocol error - EMPTY = 16 # (Internal Only) Database table is empty - SCHEMA = 17 # The database schema changed - TOOBIG = 18 # Too much data for one row of a table - CONSTRAINT = 19 # Abort due to contraint violation - MISMATCH = 20 # Data type mismatch - MISUSE = 21 # Library used incorrectly - NOLFS = 22 # Uses OS features not supported on host - AUTH = 23 # Authorization denied - - ROW = 100 # sqlite_step() has another row ready - DONE = 101 # sqlite_step() has finished executing - end - -end ; end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/database.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/database.rb deleted file mode 100644 index 5a65eecd..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/database.rb +++ /dev/null @@ -1,570 +0,0 @@ -require 'sqlite3/constants' -require 'sqlite3/errors' -require 'sqlite3/pragmas' -require 'sqlite3/statement' -require 'sqlite3/translator' -require 'sqlite3/value' - -module SQLite3 - - # The Database class encapsulates a single connection to a SQLite3 database. - # Its usage is very straightforward: - # - # require 'sqlite3' - # - # SQLite3::Database.new( "data.db" ) do |db| - # db.execute( "select * from table" ) do |row| - # p row - # end - # end - # - # It wraps the lower-level methods provides by the selected driver, and - # includes the Pragmas module for access to various pragma convenience - # methods. - # - # The Database class provides type translation services as well, by which - # the SQLite3 data types (which are all represented as strings) may be - # converted into their corresponding types (as defined in the schemas - # for their tables). This translation only occurs when querying data from - # the database--insertions and updates are all still typeless. - # - # Furthermore, the Database class has been designed to work well with the - # ArrayFields module from Ara Howard. If you require the ArrayFields - # module before performing a query, and if you have not enabled results as - # hashes, then the results will all be indexible by field name. - class Database - attr_reader :collations - - include Pragmas - - class << self - - alias :open :new - - # Quotes the given string, making it safe to use in an SQL statement. - # It replaces all instances of the single-quote character with two - # single-quote characters. The modified string is returned. - def quote( string ) - string.gsub( /'/, "''" ) - end - - end - - # A boolean that indicates whether rows in result sets should be returned - # as hashes or not. By default, rows are returned as arrays. - attr_accessor :results_as_hash - - # A boolean indicating whether or not type translation is enabled for this - # database. - attr_accessor :type_translation - - # Return the type translator employed by this database instance. Each - # database instance has its own type translator; this allows for different - # type handlers to be installed in each instance without affecting other - # instances. Furthermore, the translators are instantiated lazily, so that - # if a database does not use type translation, it will not be burdened by - # the overhead of a useless type translator. (See the Translator class.) - def translator - @translator ||= Translator.new - end - - # Installs (or removes) a block that will be invoked for every access - # to the database. If the block returns 0 (or +nil+), the statement - # is allowed to proceed. Returning 1 causes an authorization error to - # occur, and returning 2 causes the access to be silently denied. - def authorizer( &block ) - self.authorizer = block - end - - # Returns a Statement object representing the given SQL. This does not - # execute the statement; it merely prepares the statement for execution. - # - # The Statement can then be executed using Statement#execute. - # - def prepare sql - stmt = SQLite3::Statement.new( self, sql ) - return stmt unless block_given? - - begin - yield stmt - ensure - stmt.close - end - end - - # Executes the given SQL statement. If additional parameters are given, - # they are treated as bind variables, and are bound to the placeholders in - # the query. - # - # Note that if any of the values passed to this are hashes, then the - # key/value pairs are each bound separately, with the key being used as - # the name of the placeholder to bind the value to. - # - # The block is optional. If given, it will be invoked for each row returned - # by the query. Otherwise, any results are accumulated into an array and - # returned wholesale. - # - # See also #execute2, #query, and #execute_batch for additional ways of - # executing statements. - def execute sql, bind_vars = [], *args, &block - # FIXME: This is a terrible hack and should be removed but is required - # for older versions of rails - hack = Object.const_defined?(:ActiveRecord) && sql =~ /^PRAGMA index_list/ - - if bind_vars.nil? || !args.empty? - if args.empty? - bind_vars = [] - else - bind_vars = [nil] + args - end - - warn(<<-eowarn) if $VERBOSE -#{caller[0]} is calling SQLite3::Database#execute with nil or multiple bind params -without using an array. Please switch to passing bind parameters as an array. - eowarn - end - - prepare( sql ) do |stmt| - stmt.bind_params(bind_vars) - if type_translation - stmt = ResultSet.new(self, stmt).to_a - end - - if block_given? - stmt.each do |row| - if @results_as_hash - h = Hash[*stmt.columns.zip(row).flatten] - row.each_with_index { |r, i| h[i] = r } - - yield h - else - yield row - end - end - else - if @results_as_hash - stmt.map { |row| - h = Hash[*stmt.columns.zip(row).flatten] - row.each_with_index { |r, i| h[i] = r } - - # FIXME UGH TERRIBLE HACK! - h['unique'] = h['unique'].to_s if hack - - h - } - else - stmt.to_a - end - end - end - end - - # Executes the given SQL statement, exactly as with #execute. However, the - # first row returned (either via the block, or in the returned array) is - # always the names of the columns. Subsequent rows correspond to the data - # from the result set. - # - # Thus, even if the query itself returns no rows, this method will always - # return at least one row--the names of the columns. - # - # See also #execute, #query, and #execute_batch for additional ways of - # executing statements. - def execute2( sql, *bind_vars ) - prepare( sql ) do |stmt| - result = stmt.execute( *bind_vars ) - if block_given? - yield stmt.columns - result.each { |row| yield row } - else - return result.inject( [ stmt.columns ] ) { |arr,row| - arr << row; arr } - end - end - end - - # Executes all SQL statements in the given string. By contrast, the other - # means of executing queries will only execute the first statement in the - # string, ignoring all subsequent statements. This will execute each one - # in turn. The same bind parameters, if given, will be applied to each - # statement. - # - # This always returns +nil+, making it unsuitable for queries that return - # rows. - def execute_batch( sql, bind_vars = [], *args ) - # FIXME: remove this stuff later - unless [Array, Hash].include?(bind_vars.class) - bind_vars = [bind_vars] - warn(<<-eowarn) if $VERBOSE -#{caller[0]} is calling SQLite3::Database#execute_batch with bind parameters -that are not a list of a hash. Please switch to passing bind parameters as an -array or hash. - eowarn - end - - # FIXME: remove this stuff later - if bind_vars.nil? || !args.empty? - if args.empty? - bind_vars = [] - else - bind_vars = [nil] + args - end - - warn(<<-eowarn) if $VERBOSE -#{caller[0]} is calling SQLite3::Database#execute_batch with nil or multiple bind params -without using an array. Please switch to passing bind parameters as an array. - eowarn - end - - sql = sql.strip - until sql.empty? do - prepare( sql ) do |stmt| - # FIXME: this should probably use sqlite3's api for batch execution - # This implementation requires stepping over the results. - if bind_vars.length == stmt.bind_parameter_count - stmt.bind_params(bind_vars) - end - stmt.step - sql = stmt.remainder.strip - end - end - nil - end - - # This is a convenience method for creating a statement, binding - # paramters to it, and calling execute: - # - # result = db.query( "select * from foo where a=?", 5 ) - # # is the same as - # result = db.prepare( "select * from foo where a=?" ).execute( 5 ) - # - # You must be sure to call +close+ on the ResultSet instance that is - # returned, or you could have problems with locks on the table. If called - # with a block, +close+ will be invoked implicitly when the block - # terminates. - def query( sql, bind_vars = [], *args ) - - if bind_vars.nil? || !args.empty? - if args.empty? - bind_vars = [] - else - bind_vars = [nil] + args - end - - warn(<<-eowarn) if $VERBOSE -#{caller[0]} is calling SQLite3::Database#query with nil or multiple bind params -without using an array. Please switch to passing bind parameters as an array. - eowarn - end - - result = prepare( sql ).execute( bind_vars ) - if block_given? - begin - yield result - ensure - result.close - end - else - return result - end - end - - # A convenience method for obtaining the first row of a result set, and - # discarding all others. It is otherwise identical to #execute. - # - # See also #get_first_value. - def get_first_row( sql, *bind_vars ) - execute( sql, *bind_vars ) { |row| return row } - nil - end - - # A convenience method for obtaining the first value of the first row of a - # result set, and discarding all other values and rows. It is otherwise - # identical to #execute. - # - # See also #get_first_row. - def get_first_value( sql, *bind_vars ) - execute( sql, *bind_vars ) { |row| return row[0] } - nil - end - - alias :busy_timeout :busy_timeout= - - # Creates a new function for use in SQL statements. It will be added as - # +name+, with the given +arity+. (For variable arity functions, use - # -1 for the arity.) - # - # The block should accept at least one parameter--the FunctionProxy - # instance that wraps this function invocation--and any other - # arguments it needs (up to its arity). - # - # The block does not return a value directly. Instead, it will invoke - # the FunctionProxy#set_result method on the +func+ parameter and - # indicate the return value that way. - # - # Example: - # - # db.create_function( "maim", 1 ) do |func, value| - # if value.nil? - # func.result = nil - # else - # func.result = value.split(//).sort.join - # end - # end - # - # puts db.get_first_value( "select maim(name) from table" ) - def create_function name, arity, text_rep=Constants::TextRep::ANY, &block - define_function(name) do |*args| - fp = FunctionProxy.new - block.call(fp, *args) - fp.result - end - self - end - - # Creates a new aggregate function for use in SQL statements. Aggregate - # functions are functions that apply over every row in the result set, - # instead of over just a single row. (A very common aggregate function - # is the "count" function, for determining the number of rows that match - # a query.) - # - # The new function will be added as +name+, with the given +arity+. (For - # variable arity functions, use -1 for the arity.) - # - # The +step+ parameter must be a proc object that accepts as its first - # parameter a FunctionProxy instance (representing the function - # invocation), with any subsequent parameters (up to the function's arity). - # The +step+ callback will be invoked once for each row of the result set. - # - # The +finalize+ parameter must be a +proc+ object that accepts only a - # single parameter, the FunctionProxy instance representing the current - # function invocation. It should invoke FunctionProxy#set_result to - # store the result of the function. - # - # Example: - # - # db.create_aggregate( "lengths", 1 ) do - # step do |func, value| - # func[ :total ] ||= 0 - # func[ :total ] += ( value ? value.length : 0 ) - # end - # - # finalize do |func| - # func.set_result( func[ :total ] || 0 ) - # end - # end - # - # puts db.get_first_value( "select lengths(name) from table" ) - # - # See also #create_aggregate_handler for a more object-oriented approach to - # aggregate functions. - def create_aggregate( name, arity, step=nil, finalize=nil, - text_rep=Constants::TextRep::ANY, &block ) - - factory = Class.new do - def self.step( &block ) - define_method(:step, &block) - end - - def self.finalize( &block ) - define_method(:finalize, &block) - end - end - - if block_given? - factory.instance_eval(&block) - else - factory.class_eval do - define_method(:step, step) - define_method(:finalize, finalize) - end - end - - proxy = factory.new - proxy.extend(Module.new { - attr_accessor :ctx - - def step( *args ) - super(@ctx, *args) - end - - def finalize - super(@ctx) - end - }) - proxy.ctx = FunctionProxy.new - define_aggregator(name, proxy) - end - - # This is another approach to creating an aggregate function (see - # #create_aggregate). Instead of explicitly specifying the name, - # callbacks, arity, and type, you specify a factory object - # (the "handler") that knows how to obtain all of that information. The - # handler should respond to the following messages: - # - # +arity+:: corresponds to the +arity+ parameter of #create_aggregate. This - # message is optional, and if the handler does not respond to it, - # the function will have an arity of -1. - # +name+:: this is the name of the function. The handler _must_ implement - # this message. - # +new+:: this must be implemented by the handler. It should return a new - # instance of the object that will handle a specific invocation of - # the function. - # - # The handler instance (the object returned by the +new+ message, described - # above), must respond to the following messages: - # - # +step+:: this is the method that will be called for each step of the - # aggregate function's evaluation. It should implement the same - # signature as the +step+ callback for #create_aggregate. - # +finalize+:: this is the method that will be called to finalize the - # aggregate function's evaluation. It should implement the - # same signature as the +finalize+ callback for - # #create_aggregate. - # - # Example: - # - # class LengthsAggregateHandler - # def self.arity; 1; end - # - # def initialize - # @total = 0 - # end - # - # def step( ctx, name ) - # @total += ( name ? name.length : 0 ) - # end - # - # def finalize( ctx ) - # ctx.set_result( @total ) - # end - # end - # - # db.create_aggregate_handler( LengthsAggregateHandler ) - # puts db.get_first_value( "select lengths(name) from A" ) - def create_aggregate_handler( handler ) - proxy = Class.new do - def initialize handler - @handler = handler - @fp = FunctionProxy.new - end - - def step( *args ) - @handler.step(@fp, *args) - end - - def finalize - @handler.finalize @fp - @fp.result - end - end - define_aggregator(handler.name, proxy.new(handler.new)) - self - end - - # Begins a new transaction. Note that nested transactions are not allowed - # by SQLite, so attempting to nest a transaction will result in a runtime - # exception. - # - # The +mode+ parameter may be either :deferred (the default), - # :immediate, or :exclusive. - # - # If a block is given, the database instance is yielded to it, and the - # transaction is committed when the block terminates. If the block - # raises an exception, a rollback will be performed instead. Note that if - # a block is given, #commit and #rollback should never be called - # explicitly or you'll get an error when the block terminates. - # - # If a block is not given, it is the caller's responsibility to end the - # transaction explicitly, either by calling #commit, or by calling - # #rollback. - def transaction( mode = :deferred ) - execute "begin #{mode.to_s} transaction" - @transaction_active = true - - if block_given? - abort = false - begin - yield self - rescue ::Object - abort = true - raise - ensure - abort and rollback or commit - end - end - - true - end - - # Commits the current transaction. If there is no current transaction, - # this will cause an error to be raised. This returns +true+, in order - # to allow it to be used in idioms like - # abort? and rollback or commit. - def commit - execute "commit transaction" - @transaction_active = false - true - end - - # Rolls the current transaction back. If there is no current transaction, - # this will cause an error to be raised. This returns +true+, in order - # to allow it to be used in idioms like - # abort? and rollback or commit. - def rollback - execute "rollback transaction" - @transaction_active = false - true - end - - # Returns +true+ if there is a transaction active, and +false+ otherwise. - def transaction_active? - @transaction_active - end - - # A helper class for dealing with custom functions (see #create_function, - # #create_aggregate, and #create_aggregate_handler). It encapsulates the - # opaque function object that represents the current invocation. It also - # provides more convenient access to the API functions that operate on - # the function object. - # - # This class will almost _always_ be instantiated indirectly, by working - # with the create methods mentioned above. - class FunctionProxy - attr_accessor :result - - # Create a new FunctionProxy that encapsulates the given +func+ object. - # If context is non-nil, the functions context will be set to that. If - # it is non-nil, it must quack like a Hash. If it is nil, then none of - # the context functions will be available. - def initialize - @result = nil - @context = {} - end - - # Set the result of the function to the given error message. - # The function will then return that error. - def set_error( error ) - @driver.result_error( @func, error.to_s, -1 ) - end - - # (Only available to aggregate functions.) Returns the number of rows - # that the aggregate has processed so far. This will include the current - # row, and so will always return at least 1. - def count - @driver.aggregate_count( @func ) - end - - # Returns the value with the given key from the context. This is only - # available to aggregate functions. - def []( key ) - @context[ key ] - end - - # Sets the value with the given key in the context. This is only - # available to aggregate functions. - def []=( key, value ) - @context[ key ] = value - end - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/errors.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/errors.rb deleted file mode 100644 index 3936a594..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/errors.rb +++ /dev/null @@ -1,44 +0,0 @@ -require 'sqlite3/constants' - -module SQLite3 - class Exception < ::StandardError - @code = 0 - - # The numeric error code that this exception represents. - def self.code - @code - end - - # A convenience for accessing the error code for this exception. - def code - self.class.code - end - end - - class SQLException < Exception; end - class InternalException < Exception; end - class PermissionException < Exception; end - class AbortException < Exception; end - class BusyException < Exception; end - class LockedException < Exception; end - class MemoryException < Exception; end - class ReadOnlyException < Exception; end - class InterruptException < Exception; end - class IOException < Exception; end - class CorruptException < Exception; end - class NotFoundException < Exception; end - class FullException < Exception; end - class CantOpenException < Exception; end - class ProtocolException < Exception; end - class EmptyException < Exception; end - class SchemaChangedException < Exception; end - class TooBigException < Exception; end - class ConstraintException < Exception; end - class MismatchException < Exception; end - class MisuseException < Exception; end - class UnsupportedException < Exception; end - class AuthorizationException < Exception; end - class FormatException < Exception; end - class RangeException < Exception; end - class NotADatabaseException < Exception; end -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/pragmas.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/pragmas.rb deleted file mode 100644 index 2e319387..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/pragmas.rb +++ /dev/null @@ -1,280 +0,0 @@ -require 'sqlite3/errors' - -module SQLite3 - - # This module is intended for inclusion solely by the Database class. It - # defines convenience methods for the various pragmas supported by SQLite3. - # - # For a detailed description of these pragmas, see the SQLite3 documentation - # at http://sqlite.org/pragma.html. - module Pragmas - - # Returns +true+ or +false+ depending on the value of the named pragma. - def get_boolean_pragma( name ) - get_first_value( "PRAGMA #{name}" ) != "0" - end - private :get_boolean_pragma - - # Sets the given pragma to the given boolean value. The value itself - # may be +true+ or +false+, or any other commonly used string or - # integer that represents truth. - def set_boolean_pragma( name, mode ) - case mode - when String - case mode.downcase - when "on", "yes", "true", "y", "t"; mode = "'ON'" - when "off", "no", "false", "n", "f"; mode = "'OFF'" - else - raise Exception, - "unrecognized pragma parameter #{mode.inspect}" - end - when true, 1 - mode = "ON" - when false, 0, nil - mode = "OFF" - else - raise Exception, - "unrecognized pragma parameter #{mode.inspect}" - end - - execute( "PRAGMA #{name}=#{mode}" ) - end - private :set_boolean_pragma - - # Requests the given pragma (and parameters), and if the block is given, - # each row of the result set will be yielded to it. Otherwise, the results - # are returned as an array. - def get_query_pragma( name, *parms, &block ) # :yields: row - if parms.empty? - execute( "PRAGMA #{name}", &block ) - else - args = "'" + parms.join("','") + "'" - execute( "PRAGMA #{name}( #{args} )", &block ) - end - end - private :get_query_pragma - - # Return the value of the given pragma. - def get_enum_pragma( name ) - get_first_value( "PRAGMA #{name}" ) - end - private :get_enum_pragma - - # Set the value of the given pragma to +mode+. The +mode+ parameter must - # conform to one of the values in the given +enum+ array. Each entry in - # the array is another array comprised of elements in the enumeration that - # have duplicate values. See #synchronous, #default_synchronous, - # #temp_store, and #default_temp_store for usage examples. - def set_enum_pragma( name, mode, enums ) - match = enums.find { |p| p.find { |i| i.to_s.downcase == mode.to_s.downcase } } - raise Exception, - "unrecognized #{name} #{mode.inspect}" unless match - execute( "PRAGMA #{name}='#{match.first.upcase}'" ) - end - private :set_enum_pragma - - # Returns the value of the given pragma as an integer. - def get_int_pragma( name ) - get_first_value( "PRAGMA #{name}" ).to_i - end - private :get_int_pragma - - # Set the value of the given pragma to the integer value of the +value+ - # parameter. - def set_int_pragma( name, value ) - execute( "PRAGMA #{name}=#{value.to_i}" ) - end - private :set_int_pragma - - # The enumeration of valid synchronous modes. - SYNCHRONOUS_MODES = [ [ 'full', 2 ], [ 'normal', 1 ], [ 'off', 0 ] ] - - # The enumeration of valid temp store modes. - TEMP_STORE_MODES = [ [ 'default', 0 ], [ 'file', 1 ], [ 'memory', 2 ] ] - - # Does an integrity check on the database. If the check fails, a - # SQLite3::Exception will be raised. Otherwise it - # returns silently. - def integrity_check - execute( "PRAGMA integrity_check" ) do |row| - raise Exception, row[0] if row[0] != "ok" - end - end - - def auto_vacuum - get_boolean_pragma "auto_vacuum" - end - - def auto_vacuum=( mode ) - set_boolean_pragma "auto_vacuum", mode - end - - def schema_cookie - get_int_pragma "schema_cookie" - end - - def schema_cookie=( cookie ) - set_int_pragma "schema_cookie", cookie - end - - def user_cookie - get_int_pragma "user_cookie" - end - - def user_cookie=( cookie ) - set_int_pragma "user_cookie", cookie - end - - def cache_size - get_int_pragma "cache_size" - end - - def cache_size=( size ) - set_int_pragma "cache_size", size - end - - def default_cache_size - get_int_pragma "default_cache_size" - end - - def default_cache_size=( size ) - set_int_pragma "default_cache_size", size - end - - def default_synchronous - get_enum_pragma "default_synchronous" - end - - def default_synchronous=( mode ) - set_enum_pragma "default_synchronous", mode, SYNCHRONOUS_MODES - end - - def synchronous - get_enum_pragma "synchronous" - end - - def synchronous=( mode ) - set_enum_pragma "synchronous", mode, SYNCHRONOUS_MODES - end - - def default_temp_store - get_enum_pragma "default_temp_store" - end - - def default_temp_store=( mode ) - set_enum_pragma "default_temp_store", mode, TEMP_STORE_MODES - end - - def temp_store - get_enum_pragma "temp_store" - end - - def temp_store=( mode ) - set_enum_pragma "temp_store", mode, TEMP_STORE_MODES - end - - def full_column_names - get_boolean_pragma "full_column_names" - end - - def full_column_names=( mode ) - set_boolean_pragma "full_column_names", mode - end - - def parser_trace - get_boolean_pragma "parser_trace" - end - - def parser_trace=( mode ) - set_boolean_pragma "parser_trace", mode - end - - def vdbe_trace - get_boolean_pragma "vdbe_trace" - end - - def vdbe_trace=( mode ) - set_boolean_pragma "vdbe_trace", mode - end - - def database_list( &block ) # :yields: row - get_query_pragma "database_list", &block - end - - def foreign_key_list( table, &block ) # :yields: row - get_query_pragma "foreign_key_list", table, &block - end - - def index_info( index, &block ) # :yields: row - get_query_pragma "index_info", index, &block - end - - def index_list( table, &block ) # :yields: row - get_query_pragma "index_list", table, &block - end - - ### - # Returns information about +table+. Yields each row of table information - # if a block is provided. - def table_info table - stmt = prepare "PRAGMA table_info(#{table})" - columns = stmt.columns - - needs_tweak_default = - version_compare(SQLite3.libversion.to_s, "3.3.7") > 0 - - result = [] unless block_given? - stmt.each do |row| - new_row = Hash[*columns.zip(row).flatten] - - # FIXME: This should be removed but is required for older versions - # of rails - if(Object.const_defined?(:ActiveRecord)) - new_row['notnull'] = new_row['notnull'].to_s - end - - tweak_default(new_row) if needs_tweak_default - - if block_given? - yield new_row - else - result << new_row - end - end - stmt.close - - result - end - - private - - # Compares two version strings - def version_compare(v1, v2) - v1 = v1.split(".").map { |i| i.to_i } - v2 = v2.split(".").map { |i| i.to_i } - parts = [v1.length, v2.length].max - v1.push 0 while v1.length < parts - v2.push 0 while v2.length < parts - v1.zip(v2).each do |a,b| - return -1 if a < b - return 1 if a > b - end - return 0 - end - - # Since SQLite 3.3.8, the table_info pragma has returned the default - # value of the row as a quoted SQL value. This method essentially - # unquotes those values. - def tweak_default(hash) - case hash["dflt_value"] - when /^null$/i - hash["dflt_value"] = nil - when /^'(.*)'$/ - hash["dflt_value"] = $1.gsub(/''/, "'") - when /^"(.*)"$/ - hash["dflt_value"] = $1.gsub(/""/, '"') - end - end - end - -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/resultset.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/resultset.rb deleted file mode 100644 index bc331b08..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/resultset.rb +++ /dev/null @@ -1,126 +0,0 @@ -require 'sqlite3/constants' -require 'sqlite3/errors' - -module SQLite3 - - # The ResultSet object encapsulates the enumerability of a query's output. - # It is a simple cursor over the data that the query returns. It will - # very rarely (if ever) be instantiated directly. Instead, client's should - # obtain a ResultSet instance via Statement#execute. - class ResultSet - include Enumerable - - # The class of which we return an object in case we want an Array as - # result. (ArrayFields is installed.) - class ArrayWithTypes < Array - attr_accessor :types - end - - # The class of which we return an object in case we want an Array as - # result. (ArrayFields is not installed.) - class ArrayWithTypesAndFields < Array - attr_accessor :types - attr_accessor :fields - end - - # The class of which we return an object in case we want a Hash as - # result. - class HashWithTypes < Hash - attr_accessor :types - end - - # Create a new ResultSet attached to the given database, using the - # given sql text. - def initialize db, stmt - @db = db - @stmt = stmt - end - - # Reset the cursor, so that a result set which has reached end-of-file - # can be rewound and reiterated. - def reset( *bind_params ) - @stmt.reset! - @stmt.bind_params( *bind_params ) - @eof = false - end - - # Query whether the cursor has reached the end of the result set or not. - def eof? - @stmt.done? - end - - # Obtain the next row from the cursor. If there are no more rows to be - # had, this will return +nil+. If type translation is active on the - # corresponding database, the values in the row will be translated - # according to their types. - # - # The returned value will be an array, unless Database#results_as_hash has - # been set to +true+, in which case the returned value will be a hash. - # - # For arrays, the column names are accessible via the +fields+ property, - # and the column types are accessible via the +types+ property. - # - # For hashes, the column names are the keys of the hash, and the column - # types are accessible via the +types+ property. - def next - row = @stmt.step - return nil if @stmt.done? - - if @db.type_translation - row = @stmt.types.zip(row).map do |type, value| - @db.translator.translate( type, value ) - end - end - - if @db.results_as_hash - new_row = HashWithTypes[*@stmt.columns.zip(row).flatten] - row.each_with_index { |value,idx| - new_row[idx] = value - } - row = new_row - else - if row.respond_to?(:fields) - row = ArrayWithTypes.new(row) - else - row = ArrayWithTypesAndFields.new(row) - end - row.fields = @stmt.columns - end - - row.types = @stmt.types - row - end - - # Required by the Enumerable mixin. Provides an internal iterator over the - # rows of the result set. - def each( &block ) - while node = self.next - yield node - end - end - - # Closes the statement that spawned this result set. - # Use with caution! Closing a result set will automatically - # close any other result sets that were spawned from the same statement. - def close - @stmt.close - end - - # Queries whether the underlying statement has been closed or not. - def closed? - @stmt.closed? - end - - # Returns the types of the columns returned by this result set. - def types - @stmt.types - end - - # Returns the names of the columns returned by this result set. - def columns - @stmt.columns - end - - end - -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/statement.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/statement.rb deleted file mode 100644 index 633244d4..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/statement.rb +++ /dev/null @@ -1,148 +0,0 @@ -require 'sqlite3/errors' -require 'sqlite3/resultset' - -class String - def to_blob - SQLite3::Blob.new( self ) - end -end - -module SQLite3 - # A statement represents a prepared-but-unexecuted SQL query. It will rarely - # (if ever) be instantiated directly by a client, and is most often obtained - # via the Database#prepare method. - class Statement - include Enumerable - - # This is any text that followed the first valid SQL statement in the text - # with which the statement was initialized. If there was no trailing text, - # this will be the empty string. - attr_reader :remainder - - # Binds the given variables to the corresponding placeholders in the SQL - # text. - # - # See Database#execute for a description of the valid placeholder - # syntaxes. - # - # Example: - # - # stmt = db.prepare( "select * from table where a=? and b=?" ) - # stmt.bind_params( 15, "hello" ) - # - # See also #execute, #bind_param, Statement#bind_param, and - # Statement#bind_params. - def bind_params( *bind_vars ) - index = 1 - bind_vars.flatten.each do |var| - if Hash === var - var.each { |key, val| bind_param key, val } - else - bind_param index, var - index += 1 - end - end - end - - # Execute the statement. This creates a new ResultSet object for the - # statement's virtual machine. If a block was given, the new ResultSet will - # be yielded to it; otherwise, the ResultSet will be returned. - # - # Any parameters will be bound to the statement using #bind_params. - # - # Example: - # - # stmt = db.prepare( "select * from table" ) - # stmt.execute do |result| - # ... - # end - # - # See also #bind_params, #execute!. - def execute( *bind_vars ) - reset! if active? || done? - - bind_params(*bind_vars) unless bind_vars.empty? - @results = ResultSet.new(@connection, self) - - step if 0 == column_count - - yield @results if block_given? - @results - end - - # Execute the statement. If no block was given, this returns an array of - # rows returned by executing the statement. Otherwise, each row will be - # yielded to the block. - # - # Any parameters will be bound to the statement using #bind_params. - # - # Example: - # - # stmt = db.prepare( "select * from table" ) - # stmt.execute! do |row| - # ... - # end - # - # See also #bind_params, #execute. - def execute!( *bind_vars, &block ) - execute(*bind_vars) - block_given? ? each(&block) : to_a - end - - # Returns true if the statement is currently active, meaning it has an - # open result set. - def active? - !done? - end - - # Return an array of the column names for this statement. Note that this - # may execute the statement in order to obtain the metadata; this makes it - # a (potentially) expensive operation. - def columns - get_metadata unless @columns - return @columns - end - - def each - loop do - val = step - break self if done? - yield val - end - end - - # Return an array of the data types for each column in this statement. Note - # that this may execute the statement in order to obtain the metadata; this - # makes it a (potentially) expensive operation. - def types - must_be_open! - get_metadata unless @types - @types - end - - # A convenience method for obtaining the metadata about the query. Note - # that this will actually execute the SQL, which means it can be a - # (potentially) expensive operation. - def get_metadata - @columns = [] - @types = [] - - column_count.times do |column| - @columns << column_name(column) - @types << column_decltype(column) - end - - @columns.freeze - @types.freeze - end - private :get_metadata - - # Performs a sanity check to ensure that the statement is not - # closed. If it is, an exception is raised. - def must_be_open! # :nodoc: - if closed? - raise SQLite3::Exception, "cannot use a closed statement" - end - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/translator.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/translator.rb deleted file mode 100644 index cae36941..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/translator.rb +++ /dev/null @@ -1,114 +0,0 @@ -require 'time' -require 'date' - -module SQLite3 - - # The Translator class encapsulates the logic and callbacks necessary for - # converting string data to a value of some specified type. Every Database - # instance may have a Translator instance, in order to assist in type - # translation (Database#type_translation). - # - # Further, applications may define their own custom type translation logic - # by registering translator blocks with the corresponding database's - # translator instance (Database#translator). - class Translator - - # Create a new Translator instance. It will be preinitialized with default - # translators for most SQL data types. - def initialize - @translators = Hash.new( proc { |type,value| value } ) - @type_name_cache = {} - register_default_translators - end - - # Add a new translator block, which will be invoked to process type - # translations to the given type. The type should be an SQL datatype, and - # may include parentheses (i.e., "VARCHAR(30)"). However, any parenthetical - # information is stripped off and discarded, so type translation decisions - # are made solely on the "base" type name. - # - # The translator block itself should accept two parameters, "type" and - # "value". In this case, the "type" is the full type name (including - # parentheses), so the block itself may include logic for changing how a - # type is translated based on the additional data. The "value" parameter - # is the (string) data to convert. - # - # The block should return the translated value. - def add_translator( type, &block ) # :yields: type, value - @translators[ type_name( type ) ] = block - end - - # Translate the given string value to a value of the given type. In the - # absense of an installed translator block for the given type, the value - # itself is always returned. Further, +nil+ values are never translated, - # and are always passed straight through regardless of the type parameter. - def translate( type, value ) - unless value.nil? - # FIXME: this is a hack to support Sequel - if type && %w{ datetime timestamp }.include?(type.downcase) - @translators[ type_name( type ) ].call( type, value.to_s ) - else - @translators[ type_name( type ) ].call( type, value ) - end - end - end - - # A convenience method for working with type names. This returns the "base" - # type name, without any parenthetical data. - def type_name( type ) - @type_name_cache[type] ||= begin - type = "" if type.nil? - type = $1 if type =~ /^(.*?)\(/ - type.upcase - end - end - private :type_name - - # Register the default translators for the current Translator instance. - # This includes translators for most major SQL data types. - def register_default_translators - [ "time", - "timestamp" ].each { |type| add_translator( type ) { |t, v| Time.parse( v ) } } - - add_translator( "date" ) { |t,v| Date.parse(v) } - add_translator( "datetime" ) { |t,v| DateTime.parse(v) } - - [ "decimal", - "float", - "numeric", - "double", - "real", - "dec", - "fixed" ].each { |type| add_translator( type ) { |t,v| v.to_f } } - - [ "integer", - "smallint", - "mediumint", - "int", - "bigint" ].each { |type| add_translator( type ) { |t,v| v.to_i } } - - [ "bit", - "bool", - "boolean" ].each do |type| - add_translator( type ) do |t,v| - !( v.strip.gsub(/00+/,"0") == "0" || - v.downcase == "false" || - v.downcase == "f" || - v.downcase == "no" || - v.downcase == "n" ) - end - end - - add_translator( "tinyint" ) do |type, value| - if type =~ /\(\s*1\s*\)/ - value.to_i == 1 - else - value.to_i - end - end - end - private :register_default_translators - - end - -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/value.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/value.rb deleted file mode 100644 index e5e5bf2c..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/value.rb +++ /dev/null @@ -1,57 +0,0 @@ -require 'sqlite3/constants' - -module SQLite3 - - class Value - attr_reader :handle - - def initialize( db, handle ) - @driver = db.driver - @handle = handle - end - - def null? - type == :null - end - - def to_blob - @driver.value_blob( @handle ) - end - - def length( utf16=false ) - if utf16 - @driver.value_bytes16( @handle ) - else - @driver.value_bytes( @handle ) - end - end - - def to_f - @driver.value_double( @handle ) - end - - def to_i - @driver.value_int( @handle ) - end - - def to_int64 - @driver.value_int64( @handle ) - end - - def to_s( utf16=false ) - @driver.value_text( @handle, utf16 ) - end - - def type - case @driver.value_type( @handle ) - when Constants::ColumnType::INTEGER then :int - when Constants::ColumnType::FLOAT then :float - when Constants::ColumnType::TEXT then :text - when Constants::ColumnType::BLOB then :blob - when Constants::ColumnType::NULL then :null - end - end - - end - -end diff --git a/vendor/plugins/sqlite3-ruby/lib/sqlite3/version.rb b/vendor/plugins/sqlite3-ruby/lib/sqlite3/version.rb deleted file mode 100644 index 22ce3cfd..00000000 --- a/vendor/plugins/sqlite3-ruby/lib/sqlite3/version.rb +++ /dev/null @@ -1,16 +0,0 @@ -module SQLite3 - - module Version - - MAJOR = 1 - MINOR = 3 - TINY = 1 - BUILD = nil - - STRING = [ MAJOR, MINOR, TINY, BUILD ].compact.join( "." ) - #:beta-tag: - - VERSION = '1.3.1' - end - -end diff --git a/vendor/plugins/sqlite3-ruby/setup.rb b/vendor/plugins/sqlite3-ruby/setup.rb deleted file mode 100644 index 82b45091..00000000 --- a/vendor/plugins/sqlite3-ruby/setup.rb +++ /dev/null @@ -1,1333 +0,0 @@ -# -# setup.rb -# -# Copyright (c) 2000-2004 Minero Aoki -# -# This program is free software. -# You can distribute/modify this program under the terms of -# the GNU LGPL, Lesser General Public License version 2.1. -# - -# -# For backward compatibility -# - -unless Enumerable.method_defined?(:map) - module Enumerable - alias map collect - end -end - -unless Enumerable.method_defined?(:detect) - module Enumerable - alias detect find - end -end - -unless Enumerable.method_defined?(:select) - module Enumerable - alias select find_all - end -end - -unless Enumerable.method_defined?(:reject) - module Enumerable - def reject - select {|i| not yield(i) } - end - end -end - -unless Enumerable.method_defined?(:inject) - module Enumerable - def inject(result) - each do |i| - result = yield(result, i) - end - result - end - end -end - -unless Enumerable.method_defined?(:any?) - module Enumerable - def any? - each do |i| - return true if yield(i) - end - false - end - end -end - -unless File.respond_to?(:read) - def File.read(fname) - open(fname) {|f| - return f.read - } - end -end - -# -# Application independent utilities -# - -def File.binread(fname) - open(fname, 'rb') {|f| - return f.read - } -end - -# for corrupted windows stat(2) -def File.dir?(path) - File.directory?((path[-1,1] == '/') ? path : path + '/') -end - -# -# Config -# - -if arg = ARGV.detect {|arg| /\A--rbconfig=/ =~ arg } - ARGV.delete(arg) - require arg.split(/=/, 2)[1] - $".push 'rbconfig.rb' -else - require 'rbconfig' -end - -def multipackage_install? - FileTest.directory?(File.dirname($0) + '/packages') -end - - -class ConfigTable - - c = ::Config::CONFIG - - rubypath = c['bindir'] + '/' + c['ruby_install_name'] - - major = c['MAJOR'].to_i - minor = c['MINOR'].to_i - teeny = c['TEENY'].to_i - version = "#{major}.#{minor}" - - # ruby ver. >= 1.4.4? - newpath_p = ((major >= 2) or - ((major == 1) and - ((minor >= 5) or - ((minor == 4) and (teeny >= 4))))) - - subprefix = lambda {|path| - path.sub(/\A#{Regexp.quote(c['prefix'])}/o, '$prefix') - } - - if c['rubylibdir'] - # V < 1.6.3 - stdruby = subprefix.call(c['rubylibdir']) - siteruby = subprefix.call(c['sitedir']) - versite = subprefix.call(c['sitelibdir']) - sodir = subprefix.call(c['sitearchdir']) - elsif newpath_p - # 1.4.4 <= V <= 1.6.3 - stdruby = "$prefix/lib/ruby/#{version}" - siteruby = subprefix.call(c['sitedir']) - versite = siteruby + '/' + version - sodir = "$site-ruby/#{c['arch']}" - else - # V < 1.4.4 - stdruby = "$prefix/lib/ruby/#{version}" - siteruby = "$prefix/lib/ruby/#{version}/site_ruby" - versite = siteruby - sodir = "$site-ruby/#{c['arch']}" - end - - if arg = c['configure_args'].split.detect {|arg| /--with-make-prog=/ =~ arg } - makeprog = arg.sub(/'/, '').split(/=/, 2)[1] - else - makeprog = 'make' - end - - common_descripters = [ - [ 'prefix', [ c['prefix'], - 'path', - 'path prefix of target environment' ] ], - [ 'std-ruby', [ stdruby, - 'path', - 'the directory for standard ruby libraries' ] ], - [ 'site-ruby-common', [ siteruby, - 'path', - 'the directory for version-independent non-standard ruby libraries' ] ], - [ 'site-ruby', [ versite, - 'path', - 'the directory for non-standard ruby libraries' ] ], - [ 'bin-dir', [ '$prefix/bin', - 'path', - 'the directory for commands' ] ], - [ 'rb-dir', [ '$site-ruby', - 'path', - 'the directory for ruby scripts' ] ], - [ 'so-dir', [ sodir, - 'path', - 'the directory for ruby extentions' ] ], - [ 'data-dir', [ '$prefix/share', - 'path', - 'the directory for shared data' ] ], - [ 'ruby-path', [ rubypath, - 'path', - 'path to set to #! line' ] ], - [ 'ruby-prog', [ rubypath, - 'name', - 'the ruby program using for installation' ] ], - [ 'make-prog', [ makeprog, - 'name', - 'the make program to compile ruby extentions' ] ], - [ 'without-ext', [ 'no', - 'yes/no', - 'does not compile/install ruby extentions' ] ] - ] - multipackage_descripters = [ - [ 'with', [ '', - 'name,name...', - 'package names that you want to install', - 'ALL' ] ], - [ 'without', [ '', - 'name,name...', - 'package names that you do not want to install', - 'NONE' ] ] - ] - if multipackage_install? - DESCRIPTER = common_descripters + multipackage_descripters - else - DESCRIPTER = common_descripters - end - - SAVE_FILE = '.config' - - def ConfigTable.each_name(&block) - keys().each(&block) - end - - def ConfigTable.keys - DESCRIPTER.map {|name, *dummy| name } - end - - def ConfigTable.each_definition(&block) - DESCRIPTER.each(&block) - end - - def ConfigTable.get_entry(name) - name, ent = DESCRIPTER.assoc(name) - ent - end - - def ConfigTable.get_entry!(name) - get_entry(name) or raise ArgumentError, "no such config: #{name}" - end - - def ConfigTable.add_entry(name, vals) - ConfigTable::DESCRIPTER.push [name,vals] - end - - def ConfigTable.remove_entry(name) - get_entry(name) or raise ArgumentError, "no such config: #{name}" - DESCRIPTER.delete_if {|n, arr| n == name } - end - - def ConfigTable.config_key?(name) - get_entry(name) ? true : false - end - - def ConfigTable.bool_config?(name) - ent = get_entry(name) or return false - ent[1] == 'yes/no' - end - - def ConfigTable.value_config?(name) - ent = get_entry(name) or return false - ent[1] != 'yes/no' - end - - def ConfigTable.path_config?(name) - ent = get_entry(name) or return false - ent[1] == 'path' - end - - - class << self - alias newobj new - end - - def ConfigTable.new - c = newobj() - c.initialize_from_table - c - end - - def ConfigTable.load - c = newobj() - c.initialize_from_file - c - end - - def initialize_from_table - @table = {} - DESCRIPTER.each do |k, (default, vname, desc, default2)| - @table[k] = default - end - end - - def initialize_from_file - raise InstallError, "#{File.basename $0} config first"\ - unless File.file?(SAVE_FILE) - @table = {} - File.foreach(SAVE_FILE) do |line| - k, v = line.split(/=/, 2) - @table[k] = v.strip - end - end - - def save - File.open(SAVE_FILE, 'w') {|f| - @table.each do |k, v| - f.printf "%s=%s\n", k, v if v - end - } - end - - def []=(k, v) - raise InstallError, "unknown config option #{k}"\ - unless ConfigTable.config_key?(k) - @table[k] = v - end - - def [](key) - return nil unless @table[key] - @table[key].gsub(%r<\$([^/]+)>) { self[$1] } - end - - def set_raw(key, val) - @table[key] = val - end - - def get_raw(key) - @table[key] - end - -end - - -module MetaConfigAPI - - def eval_file_ifexist(fname) - instance_eval File.read(fname), fname, 1 if File.file?(fname) - end - - def config_names - ConfigTable.keys - end - - def config?(name) - ConfigTable.config_key?(name) - end - - def bool_config?(name) - ConfigTable.bool_config?(name) - end - - def value_config?(name) - ConfigTable.value_config?(name) - end - - def path_config?(name) - ConfigTable.path_config?(name) - end - - def add_config(name, argname, default, desc) - ConfigTable.add_entry name,[default,argname,desc] - end - - def add_path_config(name, default, desc) - add_config name, 'path', default, desc - end - - def add_bool_config(name, default, desc) - add_config name, 'yes/no', default ? 'yes' : 'no', desc - end - - def set_config_default(name, default) - if bool_config?(name) - ConfigTable.get_entry!(name)[0] = (default ? 'yes' : 'no') - else - ConfigTable.get_entry!(name)[0] = default - end - end - - def remove_config(name) - ent = ConfigTable.get_entry(name) - ConfigTable.remove_entry name - ent - end - -end - -# -# File Operations -# - -module FileOperations - - def mkdir_p(dirname, prefix = nil) - dirname = prefix + dirname if prefix - $stderr.puts "mkdir -p #{dirname}" if verbose? - return if no_harm? - - # does not check '/'... it's too abnormal case - dirs = dirname.split(%r<(?=/)>) - if /\A[a-z]:\z/i =~ dirs[0] - disk = dirs.shift - dirs[0] = disk + dirs[0] - end - dirs.each_index do |idx| - path = dirs[0..idx].join('') - Dir.mkdir path unless File.dir?(path) - end - end - - def rm_f(fname) - $stderr.puts "rm -f #{fname}" if verbose? - return if no_harm? - - if File.exist?(fname) or File.symlink?(fname) - File.chmod 0777, fname - File.unlink fname - end - end - - def rm_rf(dn) - $stderr.puts "rm -rf #{dn}" if verbose? - return if no_harm? - - Dir.chdir dn - Dir.foreach('.') do |fn| - next if fn == '.' - next if fn == '..' - if File.dir?(fn) - verbose_off { - rm_rf fn - } - else - verbose_off { - rm_f fn - } - end - end - Dir.chdir '..' - Dir.rmdir dn - end - - def move_file(src, dest) - File.unlink dest if File.exist?(dest) - begin - File.rename src, dest - rescue - File.open(dest, 'wb') {|f| f.write File.binread(src) } - File.chmod File.stat(src).mode, dest - File.unlink src - end - end - - def install(from, dest, mode, prefix = nil) - $stderr.puts "install #{from} #{dest}" if verbose? - return if no_harm? - - realdest = prefix ? prefix + dest : dest - realdest = File.join(realdest, File.basename(from)) if File.dir?(realdest) - str = File.binread(from) - if diff?(str, realdest) - verbose_off { - rm_f realdest if File.exist?(realdest) - } - File.open(realdest, 'wb') {|f| - f.write str - } - File.chmod mode, realdest - - File.open("#{objdir_root()}/InstalledFiles", 'a') {|f| - if prefix - f.puts realdest.sub(prefix, '') - else - f.puts realdest - end - } - end - end - - def diff?(new_content, path) - return true unless File.exist?(path) - new_content != File.binread(path) - end - - def command(str) - $stderr.puts str if verbose? - system str or raise RuntimeError, "'system #{str}' failed" - end - - def ruby(str) - command config('ruby-prog') + ' ' + str - end - - def make(task = '') - command config('make-prog') + ' ' + task - end - - def extdir?(dir) - File.exist?(dir + '/MANIFEST') or File.exist?("#{dir}/extconf.rb") - end - - def all_files_in(dirname) - Dir.open(dirname) {|d| - return d.select {|ent| File.file?("#{dirname}/#{ent}") } - } - end - - REJECT_DIRS = %w( - CVS SCCS RCS CVS.adm .svn - ) - - def all_dirs_in(dirname) - Dir.open(dirname) {|d| - return d.select {|n| File.dir?("#{dirname}/#{n}") } - %w(. ..) - REJECT_DIRS - } - end - -end - -# -# Main Installer -# - -class InstallError < StandardError; end - - -module HookUtils - - def run_hook(name) - try_run_hook "#{curr_srcdir()}/#{name}" or - try_run_hook "#{curr_srcdir()}/#{name}.rb" - end - - def try_run_hook(fname) - return false unless File.file?(fname) - begin - instance_eval File.read(fname), fname, 1 - rescue - raise InstallError, "hook #{fname} failed:\n" + $!.message - end - true - end - -end - - -module HookScriptAPI - - def get_config(key) - @config[key] - end - - alias config get_config - - def set_config(key, val) - @config[key] = val - end - - # - # srcdir/objdir (works only in the package directory) - # - - #abstract srcdir_root - #abstract objdir_root - #abstract relpath - - def curr_srcdir - "#{srcdir_root()}/#{relpath()}" - end - - def curr_objdir - "#{objdir_root()}/#{relpath()}" - end - - def srcfile(path) - "#{curr_srcdir()}/#{path}" - end - - def srcexist?(path) - File.exist?(srcfile(path)) - end - - def srcdirectory?(path) - File.dir?(srcfile(path)) - end - - def srcfile?(path) - File.file? srcfile(path) - end - - def srcentries(path = '.') - Dir.open("#{curr_srcdir()}/#{path}") {|d| - return d.to_a - %w(. ..) - } - end - - def srcfiles(path = '.') - srcentries(path).select {|fname| - File.file?(File.join(curr_srcdir(), path, fname)) - } - end - - def srcdirectories(path = '.') - srcentries(path).select {|fname| - File.dir?(File.join(curr_srcdir(), path, fname)) - } - end - -end - - -class ToplevelInstaller - - Version = '3.3.0' - Copyright = 'Copyright (c) 2000-2004 Minero Aoki' - - TASKS = [ - [ 'all', 'do config, setup, then install' ], - [ 'config', 'saves your configurations' ], - [ 'show', 'shows current configuration' ], - [ 'setup', 'compiles ruby extentions and others' ], - [ 'install', 'installs files' ], - [ 'clean', "does `make clean' for each extention" ], - [ 'distclean',"does `make distclean' for each extention" ] - ] - - def ToplevelInstaller.invoke - instance().invoke - end - - @singleton = nil - - def ToplevelInstaller.instance - @singleton ||= new(File.dirname($0)) - @singleton - end - - include MetaConfigAPI - - def initialize(ardir_root) - @config = nil - @options = { 'verbose' => true } - @ardir = File.expand_path(ardir_root) - end - - def inspect - "#<#{self.class} #{__id__()}>" - end - - def invoke - run_metaconfigs - case task = parsearg_global() - when nil, 'all' - @config = load_config('config') - parsearg_config - init_installers - exec_config - exec_setup - exec_install - else - @config = load_config(task) - __send__ "parsearg_#{task}" - init_installers - __send__ "exec_#{task}" - end - end - - def run_metaconfigs - eval_file_ifexist "#{@ardir}/metaconfig" - end - - def load_config(task) - case task - when 'config' - ConfigTable.new - when 'clean', 'distclean' - if File.exist?(ConfigTable::SAVE_FILE) - then ConfigTable.load - else ConfigTable.new - end - else - ConfigTable.load - end - end - - def init_installers - @installer = Installer.new(@config, @options, @ardir, File.expand_path('.')) - end - - # - # Hook Script API bases - # - - def srcdir_root - @ardir - end - - def objdir_root - '.' - end - - def relpath - '.' - end - - # - # Option Parsing - # - - def parsearg_global - valid_task = /\A(?:#{TASKS.map {|task,desc| task }.join '|'})\z/ - - while arg = ARGV.shift - case arg - when /\A\w+\z/ - raise InstallError, "invalid task: #{arg}" unless valid_task =~ arg - return arg - - when '-q', '--quiet' - @options['verbose'] = false - - when '--verbose' - @options['verbose'] = true - - when '-h', '--help' - print_usage $stdout - exit 0 - - when '-v', '--version' - puts "#{File.basename($0)} version #{Version}" - exit 0 - - when '--copyright' - puts Copyright - exit 0 - - else - raise InstallError, "unknown global option '#{arg}'" - end - end - - nil - end - - - def parsearg_no_options - raise InstallError, "#{task}: unknown options: #{ARGV.join ' '}"\ - unless ARGV.empty? - end - - alias parsearg_show parsearg_no_options - alias parsearg_setup parsearg_no_options - alias parsearg_clean parsearg_no_options - alias parsearg_distclean parsearg_no_options - - def parsearg_config - re = /\A--(#{ConfigTable.keys.join '|'})(?:=(.*))?\z/ - @options['config-opt'] = [] - - while i = ARGV.shift - if /\A--?\z/ =~ i - @options['config-opt'] = ARGV.dup - break - end - m = re.match(i) or raise InstallError, "config: unknown option #{i}" - name, value = m.to_a[1,2] - if value - if ConfigTable.bool_config?(name) - raise InstallError, "config: --#{name} allows only yes/no for argument"\ - unless /\A(y(es)?|n(o)?|t(rue)?|f(alse))\z/i =~ value - value = (/\Ay(es)?|\At(rue)/i =~ value) ? 'yes' : 'no' - end - else - raise InstallError, "config: --#{name} requires argument"\ - unless ConfigTable.bool_config?(name) - value = 'yes' - end - @config[name] = value - end - end - - def parsearg_install - @options['no-harm'] = false - @options['install-prefix'] = '' - while a = ARGV.shift - case a - when /\A--no-harm\z/ - @options['no-harm'] = true - when /\A--prefix=(.*)\z/ - path = $1 - path = File.expand_path(path) unless path[0,1] == '/' - @options['install-prefix'] = path - else - raise InstallError, "install: unknown option #{a}" - end - end - end - - def print_usage(out) - out.puts 'Typical Installation Procedure:' - out.puts " $ ruby #{File.basename $0} config" - out.puts " $ ruby #{File.basename $0} setup" - out.puts " # ruby #{File.basename $0} install (may require root privilege)" - out.puts - out.puts 'Detailed Usage:' - out.puts " ruby #{File.basename $0} " - out.puts " ruby #{File.basename $0} [] []" - - fmt = " %-20s %s\n" - out.puts - out.puts 'Global options:' - out.printf fmt, '-q,--quiet', 'suppress message outputs' - out.printf fmt, ' --verbose', 'output messages verbosely' - out.printf fmt, '-h,--help', 'print this message' - out.printf fmt, '-v,--version', 'print version and quit' - out.printf fmt, ' --copyright', 'print copyright and quit' - - out.puts - out.puts 'Tasks:' - TASKS.each do |name, desc| - out.printf " %-10s %s\n", name, desc - end - - out.puts - out.puts 'Options for CONFIG or ALL:' - ConfigTable.each_definition do |name, (default, arg, desc, default2)| - out.printf " %-20s %s [%s]\n", - '--'+ name + (ConfigTable.bool_config?(name) ? '' : '='+arg), - desc, - default2 || default - end - out.printf " %-20s %s [%s]\n", - '--rbconfig=path', 'your rbconfig.rb to load', "running ruby's" - - out.puts - out.puts 'Options for INSTALL:' - out.printf " %-20s %s [%s]\n", - '--no-harm', 'only display what to do if given', 'off' - out.printf " %-20s %s [%s]\n", - '--prefix', 'install path prefix', '$prefix' - - out.puts - end - - # - # Task Handlers - # - - def exec_config - @installer.exec_config - @config.save # must be final - end - - def exec_setup - @installer.exec_setup - end - - def exec_install - @installer.exec_install - end - - def exec_show - ConfigTable.each_name do |k| - v = @config.get_raw(k) - if not v or v.empty? - v = '(not specified)' - end - printf "%-10s %s\n", k, v - end - end - - def exec_clean - @installer.exec_clean - end - - def exec_distclean - @installer.exec_distclean - end - -end - - -class ToplevelInstallerMulti < ToplevelInstaller - - include HookUtils - include HookScriptAPI - include FileOperations - - def initialize(ardir) - super - @packages = all_dirs_in("#{@ardir}/packages") - raise 'no package exists' if @packages.empty? - end - - def run_metaconfigs - eval_file_ifexist "#{@ardir}/metaconfig" - @packages.each do |name| - eval_file_ifexist "#{@ardir}/packages/#{name}/metaconfig" - end - end - - def init_installers - @installers = {} - @packages.each do |pack| - @installers[pack] = Installer.new(@config, @options, - "#{@ardir}/packages/#{pack}", - "packages/#{pack}") - end - - with = extract_selection(config('with')) - without = extract_selection(config('without')) - @selected = @installers.keys.select {|name| - (with.empty? or with.include?(name)) \ - and not without.include?(name) - } - end - - def extract_selection(list) - a = list.split(/,/) - a.each do |name| - raise InstallError, "no such package: #{name}" \ - unless @installers.key?(name) - end - a - end - - def print_usage(f) - super - f.puts 'Inluded packages:' - f.puts ' ' + @packages.sort.join(' ') - f.puts - end - - # - # multi-package metaconfig API - # - - attr_reader :packages - - def declare_packages(list) - raise 'package list is empty' if list.empty? - list.each do |name| - raise "directory packages/#{name} does not exist"\ - unless File.dir?("#{@ardir}/packages/#{name}") - end - @packages = list - end - - # - # Task Handlers - # - - def exec_config - run_hook 'pre-config' - each_selected_installers {|inst| inst.exec_config } - run_hook 'post-config' - @config.save # must be final - end - - def exec_setup - run_hook 'pre-setup' - each_selected_installers {|inst| inst.exec_setup } - run_hook 'post-setup' - end - - def exec_install - run_hook 'pre-install' - each_selected_installers {|inst| inst.exec_install } - run_hook 'post-install' - end - - def exec_clean - rm_f ConfigTable::SAVE_FILE - run_hook 'pre-clean' - each_selected_installers {|inst| inst.exec_clean } - run_hook 'post-clean' - end - - def exec_distclean - rm_f ConfigTable::SAVE_FILE - run_hook 'pre-distclean' - each_selected_installers {|inst| inst.exec_distclean } - run_hook 'post-distclean' - end - - # - # lib - # - - def each_selected_installers - Dir.mkdir 'packages' unless File.dir?('packages') - @selected.each do |pack| - $stderr.puts "Processing the package `#{pack}' ..." if @options['verbose'] - Dir.mkdir "packages/#{pack}" unless File.dir?("packages/#{pack}") - Dir.chdir "packages/#{pack}" - yield @installers[pack] - Dir.chdir '../..' - end - end - - def verbose? - @options['verbose'] - end - - def no_harm? - @options['no-harm'] - end - -end - - -class Installer - - FILETYPES = %w( bin lib ext data ) - - include HookScriptAPI - include HookUtils - include FileOperations - - def initialize(config, opt, srcroot, objroot) - @config = config - @options = opt - @srcdir = File.expand_path(srcroot) - @objdir = File.expand_path(objroot) - @currdir = '.' - end - - def inspect - "#<#{self.class} #{File.basename(@srcdir)}>" - end - - # - # Hook Script API bases - # - - def srcdir_root - @srcdir - end - - def objdir_root - @objdir - end - - def relpath - @currdir - end - - # - # configs/options - # - - def no_harm? - @options['no-harm'] - end - - def verbose? - @options['verbose'] - end - - def verbose_off - begin - save, @options['verbose'] = @options['verbose'], false - yield - ensure - @options['verbose'] = save - end - end - - # - # TASK config - # - - def exec_config - exec_task_traverse 'config' - end - - def config_dir_bin(rel) - end - - def config_dir_lib(rel) - end - - def config_dir_ext(rel) - extconf if extdir?(curr_srcdir()) - end - - def extconf - opt = @options['config-opt'].join(' ') - command "#{config('ruby-prog')} #{curr_srcdir()}/extconf.rb #{opt}" - end - - def config_dir_data(rel) - end - - # - # TASK setup - # - - def exec_setup - exec_task_traverse 'setup' - end - - def setup_dir_bin(rel) - all_files_in(curr_srcdir()).each do |fname| - adjust_shebang "#{curr_srcdir()}/#{fname}" - end - end - - def adjust_shebang(path) - return if no_harm? - tmpfile = File.basename(path) + '.tmp' - begin - File.open(path, 'rb') {|r| - File.open(tmpfile, 'wb') {|w| - first = r.gets - return unless should_modify_shebang?(first) - $stderr.puts "adjusting shebang: #{File.basename(path)}" if verbose? - w.print first.sub(SHEBANG_RE, '#!' + config('ruby-path')) - w.write r.read - } - } - move_file tmpfile, File.basename(path) - ensure - File.unlink tmpfile if File.exist?(tmpfile) - end - end - - def should_modify_shebang?(line) - File.basename(config('ruby-path')) == 'ruby' or - shebang_command(line) == 'ruby' - end - - def shebang_command(line) - cmd, arg = *line.sub(/\A\#!/, '').strip.split(/\s+/, 2) - cmd - end - - def setup_dir_lib(rel) - end - - def setup_dir_ext(rel) - make if extdir?(curr_srcdir()) - end - - def setup_dir_data(rel) - end - - # - # TASK install - # - - def exec_install - exec_task_traverse 'install' - end - - def install_dir_bin(rel) - install_files collect_filenames_auto(), "#{config('bin-dir')}/#{rel}", 0755 - end - - def install_dir_lib(rel) - install_files ruby_scripts(), "#{config('rb-dir')}/#{rel}", 0644 - end - - def install_dir_ext(rel) - return unless extdir?(curr_srcdir()) - install_files ruby_extentions('.'), - "#{config('so-dir')}/#{rel}", - 0555 - end - - def install_dir_data(rel) - install_files collect_filenames_auto(), "#{config('data-dir')}/#{rel}", 0644 - end - - def install_files(list, dest, mode) - mkdir_p dest, @options['install-prefix'] - list.each do |fname| - install fname, dest, mode, @options['install-prefix'] - end - end - - def ruby_scripts - collect_filenames_auto().select {|n| /\.rb\z/ =~ n } - end - - # picked up many entries from cvs-1.11.1/src/ignore.c - reject_patterns = %w( - core RCSLOG tags TAGS .make.state - .nse_depinfo #* .#* cvslog.* ,* .del-* *.olb - *~ *.old *.bak *.BAK *.orig *.rej _$* *$ - - *.org *.in .* - ) - mapping = { - '.' => '\.', - '$' => '\$', - '#' => '\#', - '*' => '.*' - } - REJECT_PATTERNS = Regexp.new('\A(?:' + - reject_patterns.map {|pat| - pat.gsub(/[\.\$\#\*]/) {|ch| mapping[ch] } - }.join('|') + - ')\z') - - def collect_filenames_auto - mapdir((existfiles() - hookfiles()).reject {|fname| - REJECT_PATTERNS =~ fname - }) - end - - def existfiles - all_files_in(curr_srcdir()) | all_files_in('.') - end - - def hookfiles - %w( pre-%s post-%s pre-%s.rb post-%s.rb ).map {|fmt| - %w( config setup install clean ).map {|t| sprintf(fmt, t) } - }.flatten - end - - def mapdir(filelist) - filelist.map {|fname| - if File.exist?(fname) # objdir - fname - else # srcdir - File.join(curr_srcdir(), fname) - end - } - end - - def ruby_extentions(dir) - _ruby_extentions(dir) or - raise InstallError, "no ruby extention exists: 'ruby #{$0} setup' first" - end - - DLEXT = /\.#{ ::Config::CONFIG['DLEXT'] }\z/ - - def _ruby_extentions(dir) - Dir.open(dir) {|d| - return d.select {|fname| DLEXT =~ fname } - } - end - - # - # TASK clean - # - - def exec_clean - exec_task_traverse 'clean' - rm_f ConfigTable::SAVE_FILE - rm_f 'InstalledFiles' - end - - def clean_dir_bin(rel) - end - - def clean_dir_lib(rel) - end - - def clean_dir_ext(rel) - return unless extdir?(curr_srcdir()) - make 'clean' if File.file?('Makefile') - end - - def clean_dir_data(rel) - end - - # - # TASK distclean - # - - def exec_distclean - exec_task_traverse 'distclean' - rm_f ConfigTable::SAVE_FILE - rm_f 'InstalledFiles' - end - - def distclean_dir_bin(rel) - end - - def distclean_dir_lib(rel) - end - - def distclean_dir_ext(rel) - return unless extdir?(curr_srcdir()) - make 'distclean' if File.file?('Makefile') - end - - # - # lib - # - - def exec_task_traverse(task) - run_hook "pre-#{task}" - FILETYPES.each do |type| - if config('without-ext') == 'yes' and type == 'ext' - $stderr.puts 'skipping ext/* by user option' if verbose? - next - end - traverse task, type, "#{task}_dir_#{type}" - end - run_hook "post-#{task}" - end - - def traverse(task, rel, mid) - dive_into(rel) { - run_hook "pre-#{task}" - __send__ mid, rel.sub(%r[\A.*?(?:/|\z)], '') - all_dirs_in(curr_srcdir()).each do |d| - traverse task, "#{rel}/#{d}", mid - end - run_hook "post-#{task}" - } - end - - def dive_into(rel) - return unless File.dir?("#{@srcdir}/#{rel}") - - dir = File.basename(rel) - Dir.mkdir dir unless File.dir?(dir) - prevdir = Dir.pwd - Dir.chdir dir - $stderr.puts '---> ' + rel if verbose? - @currdir = rel - yield - Dir.chdir prevdir - $stderr.puts '<--- ' + rel if verbose? - @currdir = File.dirname(rel) - end - -end - - -if $0 == __FILE__ - begin - if multipackage_install? - ToplevelInstallerMulti.invoke - else - ToplevelInstaller.invoke - end - rescue - raise if $DEBUG - $stderr.puts $!.message - $stderr.puts "Try 'ruby #{$0} --help' for detailed usage." - exit 1 - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/helper.rb b/vendor/plugins/sqlite3-ruby/test/helper.rb deleted file mode 100644 index a61859e6..00000000 --- a/vendor/plugins/sqlite3-ruby/test/helper.rb +++ /dev/null @@ -1,3 +0,0 @@ -require 'sqlite3' -require 'test/unit' -require 'iconv' diff --git a/vendor/plugins/sqlite3-ruby/test/test_collation.rb b/vendor/plugins/sqlite3-ruby/test/test_collation.rb deleted file mode 100644 index 3400a461..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_collation.rb +++ /dev/null @@ -1,82 +0,0 @@ -# -*- coding: utf-8 -*- - -require 'helper' - -module SQLite3 - class TestCollation < Test::Unit::TestCase - class Comparator - attr_reader :calls - def initialize - @calls = [] - end - - def compare left, right - @calls << [left, right] - left <=> right - end - end - - def setup - @db = SQLite3::Database.new(':memory:') - @create = "create table ex(id int, data string)" - @db.execute(@create); - [ [1, 'hello'], [2, 'world'] ].each do |vals| - @db.execute('insert into ex (id, data) VALUES (?, ?)', vals) - end - end - - def test_custom_collation - comparator = Comparator.new - - @db.collation 'foo', comparator - - assert_equal comparator, @db.collations['foo'] - @db.execute('select data from ex order by 1 collate foo') - assert_equal 1, comparator.calls.length - end - - def test_remove_collation - comparator = Comparator.new - - @db.collation 'foo', comparator - @db.collation 'foo', nil - - assert_nil @db.collations['foo'] - assert_raises(SQLite3::SQLException) do - @db.execute('select data from ex order by 1 collate foo') - end - end - - if RUBY_VERSION >= '1.9.1' - def test_encoding - comparator = Comparator.new - @db.collation 'foo', comparator - @db.execute('select data from ex order by 1 collate foo') - - a, b = *comparator.calls.first - - assert_equal Encoding.find('UTF-8'), a.encoding - assert_equal Encoding.find('UTF-8'), b.encoding - end - - def test_encoding_default_internal - warn_before = $-w - $-w = false - before_enc = Encoding.default_internal - - Encoding.default_internal = 'EUC-JP' - comparator = Comparator.new - @db.collation 'foo', comparator - @db.execute('select data from ex order by 1 collate foo') - - a, b = *comparator.calls.first - - assert_equal Encoding.find('EUC-JP'), a.encoding - assert_equal Encoding.find('EUC-JP'), b.encoding - ensure - Encoding.default_internal = before_enc - $-w = warn_before - end - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_database.rb b/vendor/plugins/sqlite3-ruby/test/test_database.rb deleted file mode 100644 index eda5147c..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_database.rb +++ /dev/null @@ -1,295 +0,0 @@ -require 'helper' -require 'iconv' - -module SQLite3 - class TestDatabase < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(':memory:') - end - - def test_encoding - assert @db.encoding, 'database has encoding' - end - - def test_changes - @db.execute("CREATE TABLE items (id integer PRIMARY KEY AUTOINCREMENT, number integer)") - assert_equal 0, @db.changes - @db.execute("INSERT INTO items (number) VALUES (10)") - assert_equal 1, @db.changes - @db.execute_batch( - "UPDATE items SET number = (number + :nn) WHERE (number = :n)", - {"nn" => 20, "n" => 10}) - assert_equal 1, @db.changes - assert_equal [[30]], @db.execute("select number from items") - end - - def test_new - db = SQLite3::Database.new(':memory:') - assert db - end - - def test_new_yields_self - thing = nil - SQLite3::Database.new(':memory:') do |db| - thing = db - end - assert_instance_of(SQLite3::Database, thing) - end - - def test_new_with_options - db = SQLite3::Database.new(Iconv.conv('UTF-16LE', 'UTF-8', ':memory:'), - :utf16 => true) - assert db - end - - def test_close - db = SQLite3::Database.new(':memory:') - db.close - assert db.closed? - end - - def test_block_closes_self - thing = nil - SQLite3::Database.new(':memory:') do |db| - thing = db - assert !thing.closed? - end - assert thing.closed? - end - - def test_prepare - db = SQLite3::Database.new(':memory:') - stmt = db.prepare('select "hello world"') - assert_instance_of(SQLite3::Statement, stmt) - end - - def test_total_changes - db = SQLite3::Database.new(':memory:') - db.execute("create table foo ( a integer primary key, b text )") - db.execute("insert into foo (b) values ('hello')") - assert_equal 1, db.total_changes - end - - def test_execute_returns_list_of_hash - db = SQLite3::Database.new(':memory:', :results_as_hash => true) - db.execute("create table foo ( a integer primary key, b text )") - db.execute("insert into foo (b) values ('hello')") - rows = db.execute("select * from foo") - assert_equal [{0=>1, "a"=>1, "b"=>"hello", 1=>"hello"}], rows - end - - def test_execute_yields_hash - db = SQLite3::Database.new(':memory:', :results_as_hash => true) - db.execute("create table foo ( a integer primary key, b text )") - db.execute("insert into foo (b) values ('hello')") - db.execute("select * from foo") do |row| - assert_equal({0=>1, "a"=>1, "b"=>"hello", 1=>"hello"}, row) - end - end - - def test_table_info - db = SQLite3::Database.new(':memory:', :results_as_hash => true) - db.execute("create table foo ( a integer primary key, b text )") - info = [{ - "name" => "a", - "pk" => 1, - "notnull" => 0, - "type" => "integer", - "dflt_value" => nil, - "cid" => 0 - }, - { - "name" => "b", - "pk" => 0, - "notnull" => 0, - "type" => "text", - "dflt_value" => nil, - "cid" => 1 - }] - assert_equal info, db.table_info('foo') - end - - def test_total_changes_closed - db = SQLite3::Database.new(':memory:') - db.close - assert_raise(SQLite3::Exception) do - db.total_changes - end - end - - def test_trace_requires_opendb - @db.close - assert_raise(SQLite3::Exception) do - @db.trace { |x| } - end - end - - def test_trace_with_block - result = nil - @db.trace { |sql| result = sql } - @db.execute "select 'foo'" - assert_equal "select 'foo'", result - end - - def test_trace_with_object - obj = Class.new { - attr_accessor :result - def call sql; @result = sql end - }.new - - @db.trace(obj) - @db.execute "select 'foo'" - assert_equal "select 'foo'", obj.result - end - - def test_trace_takes_nil - @db.trace(nil) - @db.execute "select 'foo'" - end - - def test_last_insert_row_id_closed - @db.close - assert_raise(SQLite3::Exception) do - @db.last_insert_row_id - end - end - - def test_define_function - called_with = nil - @db.define_function("hello") do |value| - called_with = value - end - @db.execute("select hello(10)") - assert_equal 10, called_with - end - - def test_call_func_arg_type - called_with = nil - @db.define_function("hello") do |b, c, d| - called_with = [b, c, d] - nil - end - @db.execute("select hello(2.2, 'foo', NULL)") - assert_equal [2.2, 'foo', nil], called_with - end - - def test_define_varargs - called_with = nil - @db.define_function("hello") do |*args| - called_with = args - nil - end - @db.execute("select hello(2.2, 'foo', NULL)") - assert_equal [2.2, 'foo', nil], called_with - end - - def test_function_return - @db.define_function("hello") { |a| 10 } - assert_equal [10], @db.execute("select hello('world')").first - end - - def test_function_return_types - [10, 2.2, nil, "foo"].each do |thing| - @db.define_function("hello") { |a| thing } - assert_equal [thing], @db.execute("select hello('world')").first - end - end - - def test_define_function_closed - @db.close - assert_raise(SQLite3::Exception) do - @db.define_function('foo') { } - end - end - - def test_inerrupt_closed - @db.close - assert_raise(SQLite3::Exception) do - @db.interrupt - end - end - - def test_define_aggregate - @db.execute "create table foo ( a integer primary key, b text )" - @db.execute "insert into foo ( b ) values ( 'foo' )" - @db.execute "insert into foo ( b ) values ( 'bar' )" - @db.execute "insert into foo ( b ) values ( 'baz' )" - - acc = Class.new { - attr_reader :sum - alias :finalize :sum - def initialize - @sum = 0 - end - - def step a - @sum += a - end - }.new - - @db.define_aggregator("accumulate", acc) - value = @db.get_first_value( "select accumulate(a) from foo" ) - assert_equal 6, value - end - - def test_authorizer_ok - @db.authorizer = Class.new { - def call action, a, b, c, d; true end - }.new - @db.prepare("select 'fooooo'") - - @db.authorizer = Class.new { - def call action, a, b, c, d; 0 end - }.new - @db.prepare("select 'fooooo'") - end - - def test_authorizer_ignore - @db.authorizer = Class.new { - def call action, a, b, c, d; nil end - }.new - stmt = @db.prepare("select 'fooooo'") - assert_equal nil, stmt.step - end - - def test_authorizer_fail - @db.authorizer = Class.new { - def call action, a, b, c, d; false end - }.new - assert_raises(SQLite3::AuthorizationException) do - @db.prepare("select 'fooooo'") - end - end - - def test_remove_auth - @db.authorizer = Class.new { - def call action, a, b, c, d; false end - }.new - assert_raises(SQLite3::AuthorizationException) do - @db.prepare("select 'fooooo'") - end - - @db.authorizer = nil - @db.prepare("select 'fooooo'") - end - - def test_close_with_open_statements - stmt = @db.prepare("select 'foo'") - assert_raises(SQLite3::BusyException) do - @db.close - end - end - - def test_execute_with_empty_bind_params - assert_equal [['foo']], @db.execute("select 'foo'", []) - end - - def test_query_with_named_bind_params - assert_equal [['foo']], @db.query("select :n", {'n' => 'foo'}).to_a - end - - def test_execute_with_named_bind_params - assert_equal [['foo']], @db.execute("select :n", {'n' => 'foo'}) - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_deprecated.rb b/vendor/plugins/sqlite3-ruby/test/test_deprecated.rb deleted file mode 100644 index e1396cad..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_deprecated.rb +++ /dev/null @@ -1,33 +0,0 @@ -require 'helper' - -module SQLite3 - class TestDeprecated < Test::Unit::TestCase - def setup - super - @warn_before = $-w - $-w = false - @db = SQLite3::Database.new(':memory:') - end - - def teardown - super - $-w = @warn_before - end - - def test_query_with_many_bind_params - assert_equal [[nil, 1]], @db.query("select ?, ?", nil, 1).to_a - end - - def test_query_with_nil_bind_params - assert_equal [['foo']], @db.query("select 'foo'", nil).to_a - end - - def test_execute_with_many_bind_params - assert_equal [[nil, 1]], @db.execute("select ?, ?", nil, 1) - end - - def test_execute_with_nil_bind_params - assert_equal [['foo']], @db.execute("select 'foo'", nil) - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_encoding.rb b/vendor/plugins/sqlite3-ruby/test/test_encoding.rb deleted file mode 100644 index 107a0679..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_encoding.rb +++ /dev/null @@ -1,119 +0,0 @@ -# -*- coding: utf-8 -*- - -require 'helper' - -module SQLite3 - class TestEncoding < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(':memory:') - @create = "create table ex(id int, data string)" - @insert = "insert into ex(id, data) values (?, ?)" - @db.execute(@create); - end - - def test_default_internal_is_honored - warn_before = $-w - $-w = false - - before_enc = Encoding.default_internal - - str = "壁に耳あり、障子に目あり" - stmt = @db.prepare('insert into ex(data) values (?)') - stmt.bind_param 1, str - stmt.step - - Encoding.default_internal = 'EUC-JP' - string = @db.execute('select data from ex').first.first - - assert_equal Encoding.default_internal, string.encoding - assert_equal str.encode('EUC-JP'), string - assert_equal str, string.encode(str.encoding) - ensure - Encoding.default_internal = before_enc - $-w = warn_before - end - - def test_blob_is_binary - str = "猫舌" - @db.execute('create table foo(data text)') - stmt = @db.prepare('insert into foo(data) values (?)') - stmt.bind_param(1, SQLite3::Blob.new(str)) - stmt.step - - string = @db.execute('select data from foo').first.first - assert_equal Encoding.find('ASCII-8BIT'), string.encoding - assert_equal str, string.force_encoding('UTF-8') - end - - def test_blob_is_ascii8bit - str = "猫舌" - @db.execute('create table foo(data text)') - stmt = @db.prepare('insert into foo(data) values (?)') - stmt.bind_param(1, str.dup.force_encoding("ASCII-8BIT")) - stmt.step - - string = @db.execute('select data from foo').first.first - assert_equal Encoding.find('ASCII-8BIT'), string.encoding - assert_equal str, string.force_encoding('UTF-8') - end - - def test_blob_with_eucjp - str = "猫舌".encode("EUC-JP") - @db.execute('create table foo(data text)') - stmt = @db.prepare('insert into foo(data) values (?)') - stmt.bind_param(1, SQLite3::Blob.new(str)) - stmt.step - - string = @db.execute('select data from foo').first.first - assert_equal Encoding.find('ASCII-8BIT'), string.encoding - assert_equal str, string.force_encoding('EUC-JP') - end - - def test_db_with_eucjp - db = SQLite3::Database.new(':memory:'.encode('EUC-JP')) - assert_equal(Encoding.find('UTF-8'), db.encoding) - end - - def test_db_with_utf16 - db = SQLite3::Database.new(':memory:'.encode('UTF-16LE')) - assert_equal(Encoding.find('UTF-16LE'), db.encoding) - end - - def test_statement_eucjp - str = "猫舌" - @db.execute("insert into ex(data) values ('#{str}')".encode('EUC-JP')) - row = @db.execute("select data from ex") - assert_equal @db.encoding, row.first.first.encoding - assert_equal str, row.first.first - end - - def test_statement_utf8 - str = "猫舌" - @db.execute("insert into ex(data) values ('#{str}')") - row = @db.execute("select data from ex") - assert_equal @db.encoding, row.first.first.encoding - assert_equal str, row.first.first - end - - def test_encoding - assert_equal Encoding.find("UTF-8"), @db.encoding - end - - def test_utf_8 - str = "猫舌" - @db.execute(@insert, [10, str]) - row = @db.execute("select data from ex") - assert_equal @db.encoding, row.first.first.encoding - assert_equal str, row.first.first - end - - def test_euc_jp - str = "猫舌".encode('EUC-JP') - @db.execute(@insert, [10, str]) - row = @db.execute("select data from ex") - assert_equal @db.encoding, row.first.first.encoding - assert_equal str.encode('UTF-8'), row.first.first - end - - end if RUBY_VERSION >= '1.9.1' -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_integration.rb b/vendor/plugins/sqlite3-ruby/test/test_integration.rb deleted file mode 100644 index 3247e0fc..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_integration.rb +++ /dev/null @@ -1,545 +0,0 @@ -require 'helper' - -class TC_Database_Integration < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(":memory:") - @db.transaction do - @db.execute "create table foo ( a integer primary key, b text )" - @db.execute "insert into foo ( b ) values ( 'foo' )" - @db.execute "insert into foo ( b ) values ( 'bar' )" - @db.execute "insert into foo ( b ) values ( 'baz' )" - end - end - - def teardown - @db.close - end - - def test_table_info_with_type_translation_active - @db.type_translation = true - assert_nothing_raised { @db.table_info("foo") } - end - - def test_table_info_with_defaults_for_version_3_3_8_and_higher - @db.transaction do - @db.execute "create table defaults_test ( a string default NULL, b string default 'Hello' )" - data = @db.table_info( "defaults_test" ) - assert_equal({"name" => "a", "type" => "string", "dflt_value" => nil, "notnull" => 0, "cid" => 0, "pk" => 0}, - data[0]) - assert_equal({"name" => "b", "type" => "string", "dflt_value" => "Hello", "notnull" => 0, "cid" => 1, "pk" => 0}, - data[1]) - end - end - - def test_table_info_without_defaults_for_version_3_3_8_and_higher - @db.transaction do - @db.execute "create table no_defaults_test ( a integer default 1, b integer )" - data = @db.table_info( "no_defaults_test" ) - assert_equal({"name" => "a", "type" => "integer", "dflt_value" => "1", "notnull" => 0, "cid" => 0, "pk" => 0}, - data[0]) - assert_equal({"name" => "b", "type" => "integer", "dflt_value" => nil, "notnull" => 0, "cid" => 1, "pk" => 0}, - data[1]) - end - end - - def test_complete_fail - assert !@db.complete?( "select * from foo" ) - end - def test_complete_success - assert @db.complete?( "select * from foo;" ) - end - - # FIXME: do people really need UTF16 sql statements? - #def test_complete_fail_utf16 - # assert !@db.complete?( "select * from foo".to_utf16(false), true ) - #end - - # FIXME: do people really need UTF16 sql statements? - #def test_complete_success_utf16 - # assert @db.complete?( "select * from foo;".to_utf16(true), true ) - #end - - def test_errmsg - assert_equal "not an error", @db.errmsg - end - - # FIXME: do people really need UTF16 error messages? - #def test_errmsg_utf16 - # msg = Iconv.conv('UTF-16', 'UTF-8', 'not an error') - # assert_equal msg, @db.errmsg(true) - #end - - def test_errcode - assert_equal 0, @db.errcode - end - - def test_trace - result = nil - @db.trace { |sql| result = sql } - @db.execute "select * from foo" - assert_equal "select * from foo", result - end - - def test_authorizer_okay - @db.authorizer { |type,a,b,c,d| 0 } - rows = @db.execute "select * from foo" - assert_equal 3, rows.length - end - - def test_authorizer_error - @db.authorizer { |type,a,b,c,d| 1 } - assert_raise( SQLite3::AuthorizationException ) do - @db.execute "select * from foo" - end - end - - def test_authorizer_silent - @db.authorizer { |type,a,b,c,d| 2 } - rows = @db.execute "select * from foo" - assert rows.empty? - end - - def test_prepare_invalid_syntax - assert_raise( SQLite3::SQLException ) do - @db.prepare "select from foo" - end - end - - def test_prepare_invalid_column - assert_raise( SQLite3::SQLException ) do - @db.prepare "select k from foo" - end - end - - def test_prepare_invalid_table - assert_raise( SQLite3::SQLException ) do - @db.prepare "select * from barf" - end - end - - def test_prepare_no_block - stmt = @db.prepare "select * from foo" - assert stmt.respond_to?(:execute) - stmt.close - end - - def test_prepare_with_block - called = false - @db.prepare "select * from foo" do |stmt| - called = true - assert stmt.respond_to?(:execute) - end - assert called - end - - def test_execute_no_block_no_bind_no_match - rows = @db.execute( "select * from foo where a > 100" ) - assert rows.empty? - end - - def test_execute_with_block_no_bind_no_match - called = false - @db.execute( "select * from foo where a > 100" ) do |row| - called = true - end - assert !called - end - - def test_execute_no_block_with_bind_no_match - rows = @db.execute( "select * from foo where a > ?", 100 ) - assert rows.empty? - end - - def test_execute_with_block_with_bind_no_match - called = false - @db.execute( "select * from foo where a > ?", 100 ) do |row| - called = true - end - assert !called - end - - def test_execute_no_block_no_bind_with_match - rows = @db.execute( "select * from foo where a = 1" ) - assert_equal 1, rows.length - end - - def test_execute_with_block_no_bind_with_match - called = 0 - @db.execute( "select * from foo where a = 1" ) do |row| - called += 1 - end - assert_equal 1, called - end - - def test_execute_no_block_with_bind_with_match - rows = @db.execute( "select * from foo where a = ?", 1 ) - assert_equal 1, rows.length - end - - def test_execute_with_block_with_bind_with_match - called = 0 - @db.execute( "select * from foo where a = ?", 1 ) do |row| - called += 1 - end - assert_equal 1, called - end - - def test_execute2_no_block_no_bind_no_match - columns, *rows = @db.execute2( "select * from foo where a > 100" ) - assert rows.empty? - assert_equal [ "a", "b" ], columns - end - - def test_execute2_with_block_no_bind_no_match - called = 0 - @db.execute2( "select * from foo where a > 100" ) do |row| - assert [ "a", "b" ], row unless called == 0 - called += 1 - end - assert_equal 1, called - end - - def test_execute2_no_block_with_bind_no_match - columns, *rows = @db.execute2( "select * from foo where a > ?", 100 ) - assert rows.empty? - assert_equal [ "a", "b" ], columns - end - - def test_execute2_with_block_with_bind_no_match - called = 0 - @db.execute2( "select * from foo where a > ?", 100 ) do |row| - assert_equal [ "a", "b" ], row unless called == 0 - called += 1 - end - assert_equal 1, called - end - - def test_execute2_no_block_no_bind_with_match - columns, *rows = @db.execute2( "select * from foo where a = 1" ) - assert_equal 1, rows.length - assert_equal [ "a", "b" ], columns - end - - def test_execute2_with_block_no_bind_with_match - called = 0 - @db.execute2( "select * from foo where a = 1" ) do |row| - assert_equal [ 1, "foo" ], row unless called == 0 - called += 1 - end - assert_equal 2, called - end - - def test_execute2_no_block_with_bind_with_match - columns, *rows = @db.execute2( "select * from foo where a = ?", 1 ) - assert_equal 1, rows.length - assert_equal [ "a", "b" ], columns - end - - def test_execute2_with_block_with_bind_with_match - called = 0 - @db.execute2( "select * from foo where a = ?", 1 ) do |row| - called += 1 - end - assert_equal 2, called - end - - def test_execute_batch_empty - assert_nothing_raised { @db.execute_batch "" } - end - - def test_execute_batch_no_bind - @db.transaction do - @db.execute_batch <<-SQL - create table bar ( a, b, c ); - insert into bar values ( 'one', 2, 'three' ); - insert into bar values ( 'four', 5, 'six' ); - insert into bar values ( 'seven', 8, 'nine' ); - SQL - end - rows = @db.execute( "select * from bar" ) - assert_equal 3, rows.length - end - - def test_execute_batch_with_bind - @db.execute_batch( <<-SQL, [1] ) - create table bar ( a, b, c ); - insert into bar values ( 'one', 2, ? ); - insert into bar values ( 'four', 5, ? ); - insert into bar values ( 'seven', 8, ? ); - SQL - rows = @db.execute( "select * from bar" ).map { |a,b,c| c } - assert_equal [1, 1, 1], rows - end - - def test_query_no_block_no_bind_no_match - result = @db.query( "select * from foo where a > 100" ) - assert_nil result.next - result.close - end - - def test_query_with_block_no_bind_no_match - r = nil - @db.query( "select * from foo where a > 100" ) do |result| - assert_nil result.next - r = result - end - assert r.closed? - end - - def test_query_no_block_with_bind_no_match - result = @db.query( "select * from foo where a > ?", 100 ) - assert_nil result.next - result.close - end - - def test_query_with_block_with_bind_no_match - r = nil - @db.query( "select * from foo where a > ?", 100 ) do |result| - assert_nil result.next - r = result - end - assert r.closed? - end - - def test_query_no_block_no_bind_with_match - result = @db.query( "select * from foo where a = 1" ) - assert_not_nil result.next - assert_nil result.next - result.close - end - - def test_query_with_block_no_bind_with_match - r = nil - @db.query( "select * from foo where a = 1" ) do |result| - assert_not_nil result.next - assert_nil result.next - r = result - end - assert r.closed? - end - - def test_query_no_block_with_bind_with_match - result = @db.query( "select * from foo where a = ?", 1 ) - assert_not_nil result.next - assert_nil result.next - result.close - end - - def test_query_with_block_with_bind_with_match - r = nil - @db.query( "select * from foo where a = ?", 1 ) do |result| - assert_not_nil result.next - assert_nil result.next - r = result - end - assert r.closed? - end - - def test_get_first_row_no_bind_no_match - result = @db.get_first_row( "select * from foo where a=100" ) - assert_nil result - end - - def test_get_first_row_no_bind_with_match - result = @db.get_first_row( "select * from foo where a=1" ) - assert_equal [ 1, "foo" ], result - end - - def test_get_first_row_with_bind_no_match - result = @db.get_first_row( "select * from foo where a=?", 100 ) - assert_nil result - end - - def test_get_first_row_with_bind_with_match - result = @db.get_first_row( "select * from foo where a=?", 1 ) - assert_equal [ 1, "foo" ], result - end - - def test_get_first_value_no_bind_no_match - result = @db.get_first_value( "select b, a from foo where a=100" ) - assert_nil result - end - - def test_get_first_value_no_bind_with_match - result = @db.get_first_value( "select b, a from foo where a=1" ) - assert_equal "foo", result - end - - def test_get_first_value_with_bind_no_match - result = @db.get_first_value( "select b, a from foo where a=?", 100 ) - assert_nil result - end - - def test_get_first_value_with_bind_with_match - result = @db.get_first_value( "select b, a from foo where a=?", 1 ) - assert_equal "foo", result - end - - def test_last_insert_row_id - @db.execute "insert into foo ( b ) values ( 'test' )" - assert_equal 4, @db.last_insert_row_id - @db.execute "insert into foo ( b ) values ( 'again' )" - assert_equal 5, @db.last_insert_row_id - end - - def test_changes - @db.execute "insert into foo ( b ) values ( 'test' )" - assert_equal 1, @db.changes - @db.execute "delete from foo where 1=1" - assert_equal 4, @db.changes - end - - def test_total_changes - assert_equal 3, @db.total_changes - @db.execute "insert into foo ( b ) values ( 'test' )" - @db.execute "delete from foo where 1=1" - assert_equal 8, @db.total_changes - end - - def test_transaction_nest - assert_raise( SQLite3::SQLException ) do - @db.transaction do - @db.transaction do - end - end - end - end - - def test_transaction_rollback - @db.transaction - @db.execute_batch <<-SQL - insert into foo (b) values ( 'test1' ); - insert into foo (b) values ( 'test2' ); - insert into foo (b) values ( 'test3' ); - insert into foo (b) values ( 'test4' ); - SQL - assert_equal 7, @db.get_first_value("select count(*) from foo").to_i - @db.rollback - assert_equal 3, @db.get_first_value("select count(*) from foo").to_i - end - - def test_transaction_commit - @db.transaction - @db.execute_batch <<-SQL - insert into foo (b) values ( 'test1' ); - insert into foo (b) values ( 'test2' ); - insert into foo (b) values ( 'test3' ); - insert into foo (b) values ( 'test4' ); - SQL - assert_equal 7, @db.get_first_value("select count(*) from foo").to_i - @db.commit - assert_equal 7, @db.get_first_value("select count(*) from foo").to_i - end - - def test_transaction_rollback_in_block - assert_raise( SQLite3::SQLException ) do - @db.transaction do - @db.rollback - end - end - end - - def test_transaction_commit_in_block - assert_raise( SQLite3::SQLException ) do - @db.transaction do - @db.commit - end - end - end - - def test_transaction_active - assert !@db.transaction_active? - @db.transaction - assert @db.transaction_active? - @db.commit - assert !@db.transaction_active? - end - - def test_interrupt - @db.create_function( "abort", 1 ) do |func,x| - @db.interrupt - func.result = x - end - - assert_raise( SQLite3::InterruptException ) do - @db.execute "select abort(a) from foo" - end - end - - def test_create_function - @db.create_function( "munge", 1 ) do |func,x| - func.result = ">>>#{x}<<<" - end - - value = @db.get_first_value( "select munge(b) from foo where a=1" ) - assert_match( />>>.*<<= '1.9' - - busy = Mutex.new - busy.lock - handler_call_count = 0 - - t = Thread.new(busy) do |locker| - begin - db2 = SQLite3::Database.open( "test.db" ) - db2.transaction( :exclusive ) do - locker.lock - end - ensure - db2.close if db2 - end - end - - @db.busy_handler do |data,count| - handler_call_count += 1 - busy.unlock - true - end - - assert_nothing_raised do - @db.execute "insert into foo (b) values ( 'from 2' )" - end - - t.join - - assert_equal 1, handler_call_count - end - - def test_busy_handler_impatient - busy = Mutex.new - busy.lock - handler_call_count = 0 - - t = Thread.new do - begin - db2 = SQLite3::Database.open( "test.db" ) - db2.transaction( :exclusive ) do - busy.lock - end - ensure - db2.close if db2 - end - end - sleep 1 - - @db.busy_handler do |count| - handler_call_count += 1 - false - end - - assert_raise( SQLite3::BusyException ) do - @db.execute "insert into foo (b) values ( 'from 2' )" - end - - busy.unlock - t.join - - assert_equal 1, handler_call_count - end - - def test_busy_timeout - @db.busy_timeout 1000 - busy = Mutex.new - busy.lock - - t = Thread.new do - begin - db2 = SQLite3::Database.open( "test.db" ) - db2.transaction( :exclusive ) do - busy.lock - end - ensure - db2.close if db2 - end - end - - sleep 1 - time = Benchmark.measure do - assert_raise( SQLite3::BusyException ) do - @db.execute "insert into foo (b) values ( 'from 2' )" - end - end - - busy.unlock - t.join - - assert time.real*1000 >= 1000 - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_integration_resultset.rb b/vendor/plugins/sqlite3-ruby/test/test_integration_resultset.rb deleted file mode 100644 index 5274fc90..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_integration_resultset.rb +++ /dev/null @@ -1,183 +0,0 @@ -require 'helper' - -class TC_ResultSet < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(":memory:") - @db.transaction do - @db.execute "create table foo ( a integer primary key, b text )" - @db.execute "insert into foo ( b ) values ( 'foo' )" - @db.execute "insert into foo ( b ) values ( 'bar' )" - @db.execute "insert into foo ( b ) values ( 'baz' )" - end - @stmt = @db.prepare( "select * from foo where a in ( ?, ? )" ) - @result = @stmt.execute - end - - def teardown - @stmt.close - @db.close - end - - def test_reset_unused - assert_nothing_raised { @result.reset } - assert @result.to_a.empty? - end - - def test_reset_used - @result.to_a - assert_nothing_raised { @result.reset } - assert @result.to_a.empty? - end - - def test_reset_with_bind - @result.to_a - assert_nothing_raised { @result.reset( 1, 2 ) } - assert_equal 2, @result.to_a.length - end - - def test_eof_inner - @result.reset( 1 ) - assert !@result.eof? - end - - def test_eof_edge - @result.reset( 1 ) - @result.next # to first row - @result.next # to end of result set - assert @result.eof? - end - - def test_next_eof - @result.reset( 1 ) - assert_not_nil @result.next - assert_nil @result.next - end - - def test_next_no_type_translation_no_hash - @result.reset( 1 ) - assert_equal [ 1, "foo" ], @result.next - end - - def test_next_type_translation - @db.type_translation = true - @result.reset( 1 ) - assert_equal [ 1, "foo" ], @result.next - end - - def test_next_type_translation_with_untyped_column - @db.type_translation = true - @db.query( "select count(*) from foo" ) do |result| - assert_equal [3], result.next - end - end - - def test_type_translation_execute - @db.type_translation = true - @db.execute "create table bar ( a integer, b america )" - @db.execute "insert into bar (a, b) values (NULL, '1974-07-25 14:39:00')" - - @db.translator.add_translator('america') do |type, thing| - 'america' - end - - assert_equal [[nil, 'america']], @db.execute("select * from bar") - end - - def test_type_translation_with_null_column - @db.type_translation = true - @db.execute "create table bar ( a integer, b time, c string )" - @db.execute "insert into bar (a, b, c) values (NULL, '1974-07-25 14:39:00', 'hello')" - @db.execute "insert into bar (a, b, c) values (1, NULL, 'hello')" - @db.execute "insert into bar (a, b, c) values (2, '1974-07-25 14:39:00', NULL)" - @db.query( "select * from bar" ) do |result| - assert_equal [nil, Time.local(1974, 7, 25, 14, 39, 0), 'hello'], result.next - assert_equal [1, nil, 'hello'], result.next - assert_equal [2, Time.local(1974, 7, 25, 14, 39, 0), nil], result.next - end - end - - def test_date_and_time_translation - @db.type_translation = true - @db.execute "create table bar ( a date, b datetime, c time, d timestamp )" - @db.execute "insert into bar (a, b, c, d) values ('1999-01-08', '1997-12-17 07:37:16', '07:37:16', '2004-10-19 10:23:54')" - @db.query( "select * from bar" ) do |result| - result = result.next - assert result[0].is_a?(Date) - assert result[1].is_a?(DateTime) - assert result[2].is_a?(Time) - assert result[3].is_a?(Time) - end - end - - def test_real_translation - @db.type_translation = true - @db.execute('create table foo_real(a real)') - @db.execute('insert into foo_real values (42)' ) - @db.query('select a, sum(a), typeof(a), typeof(sum(a)) from foo_real') do |result| - result = result.next - assert result[0].is_a?(Float) - assert result[1].is_a?(Float) - assert result[2].is_a?(String) - assert result[3].is_a?(String) - end - end - - def test_next_results_as_hash - @db.results_as_hash = true - @result.reset( 1 ) - assert_equal( { "a" => 1, "b" => "foo", 0 => 1, 1 => "foo" }, - @result.next ) - end - - def test_tainted_results_as_hash - @db.results_as_hash = true - @result.reset( 1 ) - row = @result.next - row.each do |_, v| - assert(v.tainted?) if String === v - end - end - - def test_tainted_row_values - @result.reset( 1 ) - row = @result.next - row.each do |v| - assert(v.tainted?) if String === v - end - end - - def test_each - called = 0 - @result.reset( 1, 2 ) - @result.each { |row| called += 1 } - assert_equal 2, called - end - - def test_enumerable - @result.reset( 1, 2 ) - assert_equal 2, @result.to_a.length - end - - def test_types - assert_equal [ "integer", "text" ], @result.types - end - - def test_columns - assert_equal [ "a", "b" ], @result.columns - end - - def test_close - stmt = @db.prepare( "select * from foo" ) - result = stmt.execute - assert !result.closed? - result.close - assert result.closed? - assert stmt.closed? - assert_raise( SQLite3::Exception ) { result.reset } - assert_raise( SQLite3::Exception ) { result.next } - assert_raise( SQLite3::Exception ) { result.each } - assert_raise( SQLite3::Exception ) { result.close } - assert_raise( SQLite3::Exception ) { result.types } - assert_raise( SQLite3::Exception ) { result.columns } - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_integration_statement.rb b/vendor/plugins/sqlite3-ruby/test/test_integration_statement.rb deleted file mode 100644 index 9f7cde54..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_integration_statement.rb +++ /dev/null @@ -1,194 +0,0 @@ -require File.join(File.dirname(__FILE__), 'helper') - -class TC_Statement < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(":memory:") - @db.transaction do - @db.execute "create table foo ( a integer primary key, b text )" - @db.execute "insert into foo ( b ) values ( 'foo' )" - @db.execute "insert into foo ( b ) values ( 'bar' )" - @db.execute "insert into foo ( b ) values ( 'baz' )" - end - @stmt = @db.prepare( "select * from foo where a in ( ?, :named )" ) - end - - def teardown - @stmt.close - @db.close - end - - def test_remainder_empty - assert_equal "", @stmt.remainder - end - - def test_remainder_nonempty - called = false - @db.prepare( "select * from foo;\n blah" ) do |stmt| - called = true - assert_equal "\n blah", stmt.remainder - end - assert called - end - - def test_bind_params_empty - assert_nothing_raised { @stmt.bind_params } - assert @stmt.execute!.empty? - end - - def test_bind_params_array - @stmt.bind_params 1, 2 - assert_equal 2, @stmt.execute!.length - end - - def test_bind_params_hash - @stmt.bind_params ":named" => 2 - assert_equal 1, @stmt.execute!.length - end - - def test_bind_params_hash_without_colon - @stmt.bind_params "named" => 2 - assert_equal 1, @stmt.execute!.length - end - - def test_bind_params_hash_as_symbol - @stmt.bind_params :named => 2 - assert_equal 1, @stmt.execute!.length - end - - def test_bind_params_mixed - @stmt.bind_params( 1, ":named" => 2 ) - assert_equal 2, @stmt.execute!.length - end - - def test_bind_param_by_index - @stmt.bind_params( 1, 2 ) - assert_equal 2, @stmt.execute!.length - end - - def test_bind_param_by_name_bad - assert_raise( SQLite3::Exception ) { @stmt.bind_param( "@named", 2 ) } - end - - def test_bind_param_by_name_good - @stmt.bind_param( ":named", 2 ) - assert_equal 1, @stmt.execute!.length - end - - def test_bind_param_with_various_types - @db.transaction do - @db.execute "create table all_types ( a integer primary key, b float, c string, d integer )" - @db.execute "insert into all_types ( b, c, d ) values ( 1.4, 'hello', 68719476735 )" - end - - assert_equal 1, @db.execute( "select * from all_types where b = ?", 1.4 ).length - assert_equal 1, @db.execute( "select * from all_types where c = ?", 'hello').length - assert_equal 1, @db.execute( "select * from all_types where d = ?", 68719476735).length - end - - def test_execute_no_bind_no_block - assert_instance_of SQLite3::ResultSet, @stmt.execute - end - - def test_execute_with_bind_no_block - assert_instance_of SQLite3::ResultSet, @stmt.execute( 1, 2 ) - end - - def test_execute_no_bind_with_block - called = false - @stmt.execute { |row| called = true } - assert called - end - - def test_execute_with_bind_with_block - called = 0 - @stmt.execute( 1, 2 ) { |row| called += 1 } - assert_equal 1, called - end - - def test_reexecute - r = @stmt.execute( 1, 2 ) - assert_equal 2, r.to_a.length - assert_nothing_raised { r = @stmt.execute( 1, 2 ) } - assert_equal 2, r.to_a.length - end - - def test_execute_bang_no_bind_no_block - assert @stmt.execute!.empty? - end - - def test_execute_bang_with_bind_no_block - assert_equal 2, @stmt.execute!( 1, 2 ).length - end - - def test_execute_bang_no_bind_with_block - called = 0 - @stmt.execute! { |row| called += 1 } - assert_equal 0, called - end - - def test_execute_bang_with_bind_with_block - called = 0 - @stmt.execute!( 1, 2 ) { |row| called += 1 } - assert_equal 2, called - end - - def test_columns - c1 = @stmt.columns - c2 = @stmt.columns - assert_same c1, c2 - assert_equal 2, c1.length - end - - def test_columns_computed - called = false - @db.prepare( "select count(*) from foo" ) do |stmt| - called = true - assert_equal [ "count(*)" ], stmt.columns - end - assert called - end - - def test_types - t1 = @stmt.types - t2 = @stmt.types - assert_same t1, t2 - assert_equal 2, t1.length - end - - def test_types_computed - called = false - @db.prepare( "select count(*) from foo" ) do |stmt| - called = true - assert_equal [ nil ], stmt.types - end - assert called - end - - def test_close - stmt = @db.prepare( "select * from foo" ) - assert !stmt.closed? - stmt.close - assert stmt.closed? - assert_raise( SQLite3::Exception ) { stmt.execute } - assert_raise( SQLite3::Exception ) { stmt.execute! } - assert_raise( SQLite3::Exception ) { stmt.close } - assert_raise( SQLite3::Exception ) { stmt.bind_params 5 } - assert_raise( SQLite3::Exception ) { stmt.bind_param 1, 5 } - assert_raise( SQLite3::Exception ) { stmt.columns } - assert_raise( SQLite3::Exception ) { stmt.types } - end - - def test_committing_tx_with_statement_active - called = false - @db.prepare( "select count(*) from foo" ) do |stmt| - called = true - count = stmt.execute!.first.first.to_i - @db.transaction do - @db.execute "insert into foo ( b ) values ( 'hello' )" - end - new_count = stmt.execute!.first.first.to_i - assert_equal new_count, count+1 - end - assert called - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_sqlite3.rb b/vendor/plugins/sqlite3-ruby/test/test_sqlite3.rb deleted file mode 100644 index d28ef64a..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_sqlite3.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'helper' - -module SQLite3 - class TestSQLite3 < Test::Unit::TestCase - def test_libversion - assert_not_nil SQLite3.libversion - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_statement.rb b/vendor/plugins/sqlite3-ruby/test/test_statement.rb deleted file mode 100644 index fa1f3ffa..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_statement.rb +++ /dev/null @@ -1,207 +0,0 @@ -require 'helper' - -module SQLite3 - class TestStatement < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(':memory:') - @stmt = SQLite3::Statement.new(@db, "select 'foo'") - end - - ### - # This method may not exist depending on how sqlite3 was compiled - def test_database_name - @db.execute('create table foo(text BLOB)') - @db.execute('insert into foo(text) values (?)',SQLite3::Blob.new('hello')) - stmt = @db.prepare('select text from foo') - if stmt.respond_to?(:database_name) - assert_equal 'main', stmt.database_name(0) - end - end - - def test_prepare_blob - @db.execute('create table foo(text BLOB)') - stmt = @db.prepare('insert into foo(text) values (?)') - stmt.bind_param(1, SQLite3::Blob.new('hello')) - stmt.step - stmt.close - end - - def test_select_blob - @db.execute('create table foo(text BLOB)') - @db.execute('insert into foo(text) values (?)',SQLite3::Blob.new('hello')) - assert_equal 'hello', @db.execute('select * from foo').first.first - end - - def test_new - assert @stmt - end - - def test_new_closed_handle - @db = SQLite3::Database.new(':memory:') - @db.close - assert_raises(ArgumentError) do - SQLite3::Statement.new(@db, 'select "foo"') - end - end - - def test_new_with_remainder - stmt = SQLite3::Statement.new(@db, "select 'foo';bar") - assert_equal 'bar', stmt.remainder - end - - def test_empty_remainder - assert_equal '', @stmt.remainder - end - - def test_close - @stmt.close - assert @stmt.closed? - end - - def test_double_close - @stmt.close - assert_raises(SQLite3::Exception) do - @stmt.close - end - end - - def test_bind_param_string - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, "hello") - result = nil - stmt.each { |x| result = x } - assert_equal ['hello'], result - end - - def test_bind_param_int - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, 10) - result = nil - stmt.each { |x| result = x } - assert_equal [10], result - end - - def test_bind_nil - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, nil) - result = nil - stmt.each { |x| result = x } - assert_equal [nil], result - end - - def test_bind_blobs - end - - def test_bind_64 - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, 2 ** 31) - result = nil - stmt.each { |x| result = x } - assert_equal [2 ** 31], result - end - - def test_bind_double - stmt = SQLite3::Statement.new(@db, "select ?") - stmt.bind_param(1, 2.2) - result = nil - stmt.each { |x| result = x } - assert_equal [2.2], result - end - - def test_named_bind - stmt = SQLite3::Statement.new(@db, "select :foo") - stmt.bind_param(':foo', 'hello') - result = nil - stmt.each { |x| result = x } - assert_equal ['hello'], result - end - - def test_named_bind_no_colon - stmt = SQLite3::Statement.new(@db, "select :foo") - stmt.bind_param('foo', 'hello') - result = nil - stmt.each { |x| result = x } - assert_equal ['hello'], result - end - - def test_named_bind_symbol - stmt = SQLite3::Statement.new(@db, "select :foo") - stmt.bind_param(:foo, 'hello') - result = nil - stmt.each { |x| result = x } - assert_equal ['hello'], result - end - - def test_named_bind_not_found - stmt = SQLite3::Statement.new(@db, "select :foo") - assert_raises(SQLite3::Exception) do - stmt.bind_param('bar', 'hello') - end - end - - def test_each - r = nil - @stmt.each do |row| - r = row - end - assert_equal(['foo'], r) - end - - def test_reset! - r = [] - @stmt.each { |row| r << row } - @stmt.reset! - @stmt.each { |row| r << row } - assert_equal [['foo'], ['foo']], r - end - - def test_step - r = @stmt.step - assert_equal ['foo'], r - end - - def test_tainted - r = @stmt.step - assert r.first.tainted? - end - - def test_step_twice - assert_not_nil @stmt.step - assert !@stmt.done? - assert_nil @stmt.step - assert @stmt.done? - - @stmt.reset! - assert !@stmt.done? - end - - def test_step_never_moves_past_done - 10.times { @stmt.step } - @stmt.done? - end - - def test_column_count - assert_equal 1, @stmt.column_count - end - - def test_column_name - assert_equal "'foo'", @stmt.column_name(0) - assert_equal nil, @stmt.column_name(10) - end - - def test_bind_parameter_count - stmt = SQLite3::Statement.new(@db, "select ?, ?, ?") - assert_equal 3, stmt.bind_parameter_count - end - - def test_execute_with_varargs - stmt = @db.prepare('select ?, ?') - assert_equal [[nil, nil]], stmt.execute(nil, nil).to_a - end - - def test_execute_with_hash - stmt = @db.prepare('select :n, :h') - assert_equal [[10, nil]], stmt.execute('n' => 10, 'h' => nil).to_a - end - end -end diff --git a/vendor/plugins/sqlite3-ruby/test/test_statement_execute.rb b/vendor/plugins/sqlite3-ruby/test/test_statement_execute.rb deleted file mode 100644 index 68da36d6..00000000 --- a/vendor/plugins/sqlite3-ruby/test/test_statement_execute.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'helper' - -module SQLite3 - class TestStatementExecute < Test::Unit::TestCase - def setup - @db = SQLite3::Database.new(':memory:') - @db.execute_batch( - "CREATE TABLE items (id integer PRIMARY KEY, number integer)") - end - - def test_execute_insert - ps = @db.prepare("INSERT INTO items (number) VALUES (:n)") - ps.execute('n'=>10) - assert_equal 1, @db.get_first_value("SELECT count(*) FROM items") - ps.close - end - - def test_execute_update - @db.execute("INSERT INTO items (number) VALUES (?)", [10]) - - ps = @db.prepare("UPDATE items SET number = :new WHERE number = :old") - ps.execute('old'=>10, 'new'=>20) - assert_equal 20, @db.get_first_value("SELECT number FROM items") - ps.close - end - - def test_execute_delete - @db.execute("INSERT INTO items (number) VALUES (?)", [20]) - ps = @db.prepare("DELETE FROM items WHERE number = :n") - ps.execute('n' => 20) - assert_equal 0, @db.get_first_value("SELECT count(*) FROM items") - ps.close - end - end -end