simple-client 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.bundle/config +4 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +23 -0
- data/bin/rake +16 -0
- data/lib/simple-client/simple-client.rb +229 -0
- data/lib/simple-client/version.rb +4 -0
- data/lib/simple-client.rb +1 -0
- data/test/test_simple-client.rb +236 -0
- data/vendor/bundle/ruby/1.8/bin/rake +19 -0
- data/vendor/bundle/ruby/1.8/cache/addressable-2.2.8.gem +0 -0
- data/vendor/bundle/ruby/1.8/cache/crack-0.3.1.gem +0 -0
- data/vendor/bundle/ruby/1.8/cache/rake-0.9.2.2.gem +0 -0
- data/vendor/bundle/ruby/1.8/cache/webmock-1.8.8.gem +0 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/CHANGELOG.md +126 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/Gemfile +17 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/Gemfile.lock +35 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/LICENSE.txt +202 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/README.md +83 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/Rakefile +37 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/lib/addressable/idna/native.rb +43 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/lib/addressable/idna/pure.rb +4886 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/lib/addressable/idna.rb +25 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/lib/addressable/template.rb +1047 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/lib/addressable/uri.rb +2288 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/lib/addressable/version.rb +30 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/spec/addressable/idna_spec.rb +216 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/spec/addressable/net_http_compat_spec.rb +26 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/spec/addressable/template_spec.rb +2144 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/spec/addressable/uri_spec.rb +4928 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/tasks/clobber.rake +2 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/tasks/gem.rake +85 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/tasks/git.rake +45 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/tasks/metrics.rake +22 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/tasks/rspec.rake +58 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/tasks/rubyforge.rake +89 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/tasks/yard.rake +27 -0
- data/vendor/bundle/ruby/1.8/gems/addressable-2.2.8/website/index.html +110 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/History +25 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/LICENSE +20 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/README.rdoc +42 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/Rakefile +32 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/crack.gemspec +53 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/lib/crack/json.rb +79 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/lib/crack/util.rb +17 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/lib/crack/xml.rb +232 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/lib/crack.rb +8 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/test/crack_test.rb +4 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/test/data/twittersearch-firefox.json +1 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/test/data/twittersearch-ie.json +1 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/test/hash_test.rb +28 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/test/json_test.rb +82 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/test/parser_test.rb +27 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/test/string_test.rb +31 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/test/test_helper.rb +12 -0
- data/vendor/bundle/ruby/1.8/gems/crack-0.3.1/test/xml_test.rb +499 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/CHANGES +522 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/README.rdoc +197 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/Rakefile +369 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/TODO +20 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/bin/rake +33 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/command_line_usage.rdoc +114 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/glossary.rdoc +51 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/jamis.rb +591 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/rake.1.gz +0 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/rakefile.rdoc +557 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.4.14.rdoc +23 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.4.15.rdoc +35 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.5.0.rdoc +53 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.5.3.rdoc +78 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.5.4.rdoc +46 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.6.0.rdoc +141 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.7.0.rdoc +119 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.7.1.rdoc +59 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.7.2.rdoc +121 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.7.3.rdoc +47 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.0.rdoc +114 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.2.rdoc +165 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.3.rdoc +112 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.4.rdoc +147 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.5.rdoc +53 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.6.rdoc +55 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.7.rdoc +55 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.9.0.rdoc +112 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.9.1.rdoc +52 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/doc/release_notes/rake-0.9.2.rdoc +49 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/install.rb +90 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/alt_system.rb +109 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/application.rb +595 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/classic_namespace.rb +11 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/clean.rb +32 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/cloneable.rb +25 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/contrib/compositepublisher.rb +21 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/contrib/ftptools.rb +150 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/contrib/publisher.rb +73 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/contrib/rubyforgepublisher.rb +16 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/contrib/sshpublisher.rb +50 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/contrib/sys.rb +191 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/default_loader.rb +10 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb +176 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/early_time.rb +18 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/ext/core.rb +27 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/ext/module.rb +39 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/ext/string.rb +167 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/ext/time.rb +14 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/file_list.rb +403 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/file_task.rb +47 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/file_utils.rb +114 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb +145 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/gempackagetask.rb +15 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/invocation_chain.rb +51 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/loaders/makefile.rb +40 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/multi_task.rb +16 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/name_space.rb +25 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/packagetask.rb +185 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/pathmap.rb +1 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/pseudo_status.rb +24 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/rake_module.rb +29 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb +22 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/rdoctask.rb +234 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/ruby182_test_unit_fix.rb +25 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/runtest.rb +21 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/task.rb +327 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/task_arguments.rb +78 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/task_manager.rb +307 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/tasklib.rb +22 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/testtask.rb +191 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/version.rb +8 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake/win32.rb +55 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/lib/rake.rb +69 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/file_creation.rb +34 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/helper.rb +492 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake.rb +40 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_application.rb +489 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_application_options.rb +335 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_clean.rb +14 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_definitions.rb +80 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_directory_task.rb +46 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_dsl.rb +77 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_early_time.rb +31 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_extension.rb +59 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_file_creation_task.rb +56 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_file_list.rb +628 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_file_list_path_map.rb +8 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_file_task.rb +102 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_file_utils.rb +305 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_ftp_file.rb +59 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_functional.rb +450 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_invocation_chain.rb +52 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_makefile_loader.rb +44 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_multi_task.rb +51 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_name_space.rb +43 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_package_task.rb +79 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_path_map.rb +157 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_path_map_explode.rb +34 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_path_map_partial.rb +18 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_pseudo_status.rb +21 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_rake_test_loader.rb +21 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_rdoc_task.rb +83 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_require.rb +40 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_rules.rb +327 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_task.rb +267 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_task_argument_parsing.rb +103 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_task_arguments.rb +88 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_task_lib.rb +9 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_task_manager.rb +157 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_task_manager_argument_resolution.rb +36 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_task_with_arguments.rb +173 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_test_task.rb +120 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_top_level_functions.rb +111 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_rake_win32.rb +72 -0
- data/vendor/bundle/ruby/1.8/gems/rake-0.9.2.2/test/test_sys.rb +20 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/CHANGELOG.md +749 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/Gemfile +21 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/Guardfile +24 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/LICENSE +20 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/README.md +728 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/Rakefile +65 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/api.rb +63 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/assertion_failure.rb +11 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/callback_registry.rb +35 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/config.rb +10 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/cucumber.rb +8 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/deprecation.rb +9 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/errors.rb +33 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/curb_adapter.rb +287 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/em_http_request/em_http_request_0_x.rb +151 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/em_http_request/em_http_request_1_x.rb +212 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/em_http_request_adapter.rb +11 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/excon_adapter.rb +95 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/http_lib_adapter.rb +7 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb +19 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/httpclient_adapter.rb +193 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/net_http.rb +279 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/net_http_response.rb +34 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/patron_adapter.rb +129 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +180 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/matchers/hash_including_matcher.rb +25 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/minitest.rb +15 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/rack_response.rb +63 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/request_execution_verifier.rb +56 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/request_pattern.rb +282 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/request_registry.rb +35 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/request_signature.rb +50 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/request_stub.rb +97 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/response.rb +144 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/responses_sequence.rb +40 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/rspec/matchers/request_pattern_matcher.rb +42 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/rspec/matchers/webmock_matcher.rb +46 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/rspec/matchers.rb +28 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/rspec.rb +33 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/stub_registry.rb +61 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/stub_request_snippet.rb +30 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/test_unit.rb +20 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/util/hash_counter.rb +25 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/util/hash_keys_stringifier.rb +23 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/util/headers.rb +43 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/util/json.rb +54 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/util/uri.rb +101 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/util/version_checker.rb +73 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/version.rb +3 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock/webmock.rb +124 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/lib/webmock.rb +49 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/minitest/test_helper.rb +29 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/minitest/test_webmock.rb +6 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/minitest/webmock_spec.rb +50 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/curb/curb_spec.rb +340 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/curb/curb_spec_helper.rb +144 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/em_http_request/em_http_request_spec.rb +183 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/em_http_request/em_http_request_spec_helper.rb +72 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/excon/excon_spec.rb +15 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/excon/excon_spec_helper.rb +38 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/httpclient/httpclient_spec.rb +76 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/httpclient/httpclient_spec_helper.rb +48 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/net_http/net_http_shared.rb +125 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/net_http/net_http_spec.rb +255 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/net_http/net_http_spec_helper.rb +55 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/net_http/real_net_http_spec.rb +20 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/patron/patron_spec.rb +136 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/patron/patron_spec_helper.rb +50 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/shared/allowing_and_disabling_net_connect.rb +142 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/shared/callbacks.rb +146 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/shared/complex_cross_concern_behaviors.rb +36 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/shared/enabling_and_disabling_webmock.rb +95 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/shared/precedence_of_stubs.rb +15 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/shared/request_expectations.rb +666 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/shared/returning_declared_responses.rb +367 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/shared/stubbing_requests.rb +447 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/typhoeus/typhoeus_hydra_spec.rb +74 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb +56 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/acceptance/webmock_shared.rb +41 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/quality_spec.rb +60 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/spec_helper.rb +57 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/support/example_curl_output.txt +22 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/support/my_rack_app.rb +48 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/support/network_connection.rb +25 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/support/webmock_server.rb +65 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/errors_spec.rb +32 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/http_lib_adapters/http_lib_adapter_registry_spec.rb +17 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/http_lib_adapters/http_lib_adapter_spec.rb +12 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/rack_response_spec.rb +74 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/request_execution_verifier_spec.rb +100 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/request_pattern_spec.rb +479 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/request_registry_spec.rb +75 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/request_signature_spec.rb +113 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/request_stub_spec.rb +198 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/response_spec.rb +267 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/stub_registry_spec.rb +86 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/stub_request_snippet_spec.rb +95 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/util/hash_counter_spec.rb +39 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/util/hash_keys_stringifier_spec.rb +27 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/util/headers_spec.rb +28 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/util/json_spec.rb +7 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/util/uri_spec.rb +257 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/util/version_checker_spec.rb +59 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/spec/unit/webmock_spec.rb +7 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/test/http_request.rb +24 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/test/shared_test.rb +76 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/test/test_helper.rb +23 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/test/test_webmock.rb +6 -0
- data/vendor/bundle/ruby/1.8/gems/webmock-1.8.8/webmock.gemspec +35 -0
- data/vendor/bundle/ruby/1.8/specifications/addressable-2.2.8.gemspec +38 -0
- data/vendor/bundle/ruby/1.8/specifications/crack-0.3.1.gemspec +25 -0
- data/vendor/bundle/ruby/1.8/specifications/rake-0.9.2.2.gemspec +33 -0
- data/vendor/bundle/ruby/1.8/specifications/webmock-1.8.8.gemspec +61 -0
- metadata +390 -0
@@ -0,0 +1,595 @@
|
|
1
|
+
require 'shellwords'
|
2
|
+
require 'optparse'
|
3
|
+
|
4
|
+
require 'rake/task_manager'
|
5
|
+
require 'rake/win32'
|
6
|
+
|
7
|
+
module Rake
|
8
|
+
|
9
|
+
######################################################################
|
10
|
+
# Rake main application object. When invoking +rake+ from the
|
11
|
+
# command line, a Rake::Application object is created and run.
|
12
|
+
#
|
13
|
+
class Application
|
14
|
+
include TaskManager
|
15
|
+
|
16
|
+
# The name of the application (typically 'rake')
|
17
|
+
attr_reader :name
|
18
|
+
|
19
|
+
# The original directory where rake was invoked.
|
20
|
+
attr_reader :original_dir
|
21
|
+
|
22
|
+
# Name of the actual rakefile used.
|
23
|
+
attr_reader :rakefile
|
24
|
+
|
25
|
+
# Number of columns on the terminal
|
26
|
+
attr_accessor :terminal_columns
|
27
|
+
|
28
|
+
# List of the top level task names (task names from the command line).
|
29
|
+
attr_reader :top_level_tasks
|
30
|
+
|
31
|
+
DEFAULT_RAKEFILES = ['rakefile', 'Rakefile', 'rakefile.rb', 'Rakefile.rb'].freeze
|
32
|
+
|
33
|
+
# Initialize a Rake::Application object.
|
34
|
+
def initialize
|
35
|
+
super
|
36
|
+
@name = 'rake'
|
37
|
+
@rakefiles = DEFAULT_RAKEFILES.dup
|
38
|
+
@rakefile = nil
|
39
|
+
@pending_imports = []
|
40
|
+
@imported = []
|
41
|
+
@loaders = {}
|
42
|
+
@default_loader = Rake::DefaultLoader.new
|
43
|
+
@original_dir = Dir.pwd
|
44
|
+
@top_level_tasks = []
|
45
|
+
add_loader('rb', DefaultLoader.new)
|
46
|
+
add_loader('rf', DefaultLoader.new)
|
47
|
+
add_loader('rake', DefaultLoader.new)
|
48
|
+
@tty_output = STDOUT.tty?
|
49
|
+
@terminal_columns = ENV['RAKE_COLUMNS'].to_i
|
50
|
+
end
|
51
|
+
|
52
|
+
# Run the Rake application. The run method performs the following
|
53
|
+
# three steps:
|
54
|
+
#
|
55
|
+
# * Initialize the command line options (+init+).
|
56
|
+
# * Define the tasks (+load_rakefile+).
|
57
|
+
# * Run the top level tasks (+run_tasks+).
|
58
|
+
#
|
59
|
+
# If you wish to build a custom rake command, you should call
|
60
|
+
# +init+ on your application. Then define any tasks. Finally,
|
61
|
+
# call +top_level+ to run your top level tasks.
|
62
|
+
def run
|
63
|
+
standard_exception_handling do
|
64
|
+
init
|
65
|
+
load_rakefile
|
66
|
+
top_level
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
# Initialize the command line parameters and app name.
|
71
|
+
def init(app_name='rake')
|
72
|
+
standard_exception_handling do
|
73
|
+
@name = app_name
|
74
|
+
handle_options
|
75
|
+
collect_tasks
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# Find the rakefile and then load it and any pending imports.
|
80
|
+
def load_rakefile
|
81
|
+
standard_exception_handling do
|
82
|
+
raw_load_rakefile
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# Run the top level tasks of a Rake application.
|
87
|
+
def top_level
|
88
|
+
standard_exception_handling do
|
89
|
+
if options.show_tasks
|
90
|
+
display_tasks_and_comments
|
91
|
+
elsif options.show_prereqs
|
92
|
+
display_prerequisites
|
93
|
+
else
|
94
|
+
top_level_tasks.each { |task_name| invoke_task(task_name) }
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
# Add a loader to handle imported files ending in the extension
|
100
|
+
# +ext+.
|
101
|
+
def add_loader(ext, loader)
|
102
|
+
ext = ".#{ext}" unless ext =~ /^\./
|
103
|
+
@loaders[ext] = loader
|
104
|
+
end
|
105
|
+
|
106
|
+
# Application options from the command line
|
107
|
+
def options
|
108
|
+
@options ||= OpenStruct.new
|
109
|
+
end
|
110
|
+
|
111
|
+
# private ----------------------------------------------------------------
|
112
|
+
|
113
|
+
def invoke_task(task_string)
|
114
|
+
name, args = parse_task_string(task_string)
|
115
|
+
t = self[name]
|
116
|
+
t.invoke(*args)
|
117
|
+
end
|
118
|
+
|
119
|
+
def parse_task_string(string)
|
120
|
+
if string =~ /^([^\[]+)(\[(.*)\])$/
|
121
|
+
name = $1
|
122
|
+
args = $3.split(/\s*,\s*/)
|
123
|
+
else
|
124
|
+
name = string
|
125
|
+
args = []
|
126
|
+
end
|
127
|
+
[name, args]
|
128
|
+
end
|
129
|
+
|
130
|
+
# Provide standard exception handling for the given block.
|
131
|
+
def standard_exception_handling
|
132
|
+
begin
|
133
|
+
yield
|
134
|
+
rescue SystemExit => ex
|
135
|
+
# Exit silently with current status
|
136
|
+
raise
|
137
|
+
rescue OptionParser::InvalidOption => ex
|
138
|
+
$stderr.puts ex.message
|
139
|
+
exit(false)
|
140
|
+
rescue Exception => ex
|
141
|
+
# Exit with error message
|
142
|
+
display_error_message(ex)
|
143
|
+
exit(false)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
# Display the error message that caused the exception.
|
148
|
+
def display_error_message(ex)
|
149
|
+
$stderr.puts "#{name} aborted!"
|
150
|
+
$stderr.puts ex.message
|
151
|
+
if options.trace
|
152
|
+
$stderr.puts ex.backtrace.join("\n")
|
153
|
+
else
|
154
|
+
$stderr.puts rakefile_location(ex.backtrace)
|
155
|
+
end
|
156
|
+
$stderr.puts "Tasks: #{ex.chain}" if has_chain?(ex)
|
157
|
+
$stderr.puts "(See full trace by running task with --trace)" unless options.trace
|
158
|
+
end
|
159
|
+
|
160
|
+
# Warn about deprecated usage.
|
161
|
+
#
|
162
|
+
# Example:
|
163
|
+
# Rake.application.deprecate("import", "Rake.import", caller.first)
|
164
|
+
#
|
165
|
+
def deprecate(old_usage, new_usage, call_site)
|
166
|
+
return if options.ignore_deprecate
|
167
|
+
$stderr.puts "WARNING: '#{old_usage}' is deprecated. " +
|
168
|
+
"Please use '#{new_usage}' instead.\n" +
|
169
|
+
" at #{call_site}"
|
170
|
+
end
|
171
|
+
|
172
|
+
# Does the exception have a task invocation chain?
|
173
|
+
def has_chain?(exception)
|
174
|
+
exception.respond_to?(:chain) && exception.chain
|
175
|
+
end
|
176
|
+
private :has_chain?
|
177
|
+
|
178
|
+
# True if one of the files in RAKEFILES is in the current directory.
|
179
|
+
# If a match is found, it is copied into @rakefile.
|
180
|
+
def have_rakefile
|
181
|
+
@rakefiles.each do |fn|
|
182
|
+
if File.exist?(fn)
|
183
|
+
others = Dir.glob(fn, File::FNM_CASEFOLD)
|
184
|
+
return others.size == 1 ? others.first : fn
|
185
|
+
elsif fn == ''
|
186
|
+
return fn
|
187
|
+
end
|
188
|
+
end
|
189
|
+
return nil
|
190
|
+
end
|
191
|
+
|
192
|
+
# True if we are outputting to TTY, false otherwise
|
193
|
+
def tty_output?
|
194
|
+
@tty_output
|
195
|
+
end
|
196
|
+
|
197
|
+
# Override the detected TTY output state (mostly for testing)
|
198
|
+
def tty_output=( tty_output_state )
|
199
|
+
@tty_output = tty_output_state
|
200
|
+
end
|
201
|
+
|
202
|
+
# We will truncate output if we are outputting to a TTY or if we've been
|
203
|
+
# given an explicit column width to honor
|
204
|
+
def truncate_output?
|
205
|
+
tty_output? || @terminal_columns.nonzero?
|
206
|
+
end
|
207
|
+
|
208
|
+
# Display the tasks and comments.
|
209
|
+
def display_tasks_and_comments
|
210
|
+
displayable_tasks = tasks.select { |t|
|
211
|
+
t.comment && t.name =~ options.show_task_pattern
|
212
|
+
}
|
213
|
+
case options.show_tasks
|
214
|
+
when :tasks
|
215
|
+
width = displayable_tasks.collect { |t| t.name_with_args.length }.max || 10
|
216
|
+
max_column = truncate_output? ? terminal_width - name.size - width - 7 : nil
|
217
|
+
|
218
|
+
displayable_tasks.each do |t|
|
219
|
+
printf "#{name} %-#{width}s # %s\n",
|
220
|
+
t.name_with_args, max_column ? truncate(t.comment, max_column) : t.comment
|
221
|
+
end
|
222
|
+
when :describe
|
223
|
+
displayable_tasks.each do |t|
|
224
|
+
puts "#{name} #{t.name_with_args}"
|
225
|
+
t.full_comment.split("\n").each do |line|
|
226
|
+
puts " #{line}"
|
227
|
+
end
|
228
|
+
puts
|
229
|
+
end
|
230
|
+
when :lines
|
231
|
+
displayable_tasks.each do |t|
|
232
|
+
t.locations.each do |loc|
|
233
|
+
printf "#{name} %-30s %s\n",t.name_with_args, loc
|
234
|
+
end
|
235
|
+
end
|
236
|
+
else
|
237
|
+
fail "Unknown show task mode: '#{options.show_tasks}'"
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
def terminal_width
|
242
|
+
if @terminal_columns.nonzero?
|
243
|
+
result = @terminal_columns
|
244
|
+
else
|
245
|
+
result = unix? ? dynamic_width : 80
|
246
|
+
end
|
247
|
+
(result < 10) ? 80 : result
|
248
|
+
rescue
|
249
|
+
80
|
250
|
+
end
|
251
|
+
|
252
|
+
# Calculate the dynamic width of the
|
253
|
+
def dynamic_width
|
254
|
+
@dynamic_width ||= (dynamic_width_stty.nonzero? || dynamic_width_tput)
|
255
|
+
end
|
256
|
+
|
257
|
+
def dynamic_width_stty
|
258
|
+
%x{stty size 2>/dev/null}.split[1].to_i
|
259
|
+
end
|
260
|
+
|
261
|
+
def dynamic_width_tput
|
262
|
+
%x{tput cols 2>/dev/null}.to_i
|
263
|
+
end
|
264
|
+
|
265
|
+
def unix?
|
266
|
+
RbConfig::CONFIG['host_os'] =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i
|
267
|
+
end
|
268
|
+
|
269
|
+
def windows?
|
270
|
+
Win32.windows?
|
271
|
+
end
|
272
|
+
|
273
|
+
def truncate(string, width)
|
274
|
+
if string.length <= width
|
275
|
+
string
|
276
|
+
else
|
277
|
+
( string[0, width-3] || "" ) + "..."
|
278
|
+
end
|
279
|
+
end
|
280
|
+
|
281
|
+
# Display the tasks and prerequisites
|
282
|
+
def display_prerequisites
|
283
|
+
tasks.each do |t|
|
284
|
+
puts "#{name} #{t.name}"
|
285
|
+
t.prerequisites.each { |pre| puts " #{pre}" }
|
286
|
+
end
|
287
|
+
end
|
288
|
+
|
289
|
+
# A list of all the standard options used in rake, suitable for
|
290
|
+
# passing to OptionParser.
|
291
|
+
def standard_rake_options
|
292
|
+
[
|
293
|
+
['--classic-namespace', '-C', "Put Task and FileTask in the top level namespace",
|
294
|
+
lambda { |value|
|
295
|
+
require 'rake/classic_namespace'
|
296
|
+
options.classic_namespace = true
|
297
|
+
}
|
298
|
+
],
|
299
|
+
['--describe', '-D [PATTERN]', "Describe the tasks (matching optional PATTERN), then exit.",
|
300
|
+
lambda { |value|
|
301
|
+
options.show_tasks = :describe
|
302
|
+
options.show_task_pattern = Regexp.new(value || '')
|
303
|
+
TaskManager.record_task_metadata = true
|
304
|
+
}
|
305
|
+
],
|
306
|
+
['--dry-run', '-n', "Do a dry run without executing actions.",
|
307
|
+
lambda { |value|
|
308
|
+
Rake.verbose(true)
|
309
|
+
Rake.nowrite(true)
|
310
|
+
options.dryrun = true
|
311
|
+
options.trace = true
|
312
|
+
}
|
313
|
+
],
|
314
|
+
['--execute', '-e CODE', "Execute some Ruby code and exit.",
|
315
|
+
lambda { |value|
|
316
|
+
eval(value)
|
317
|
+
exit
|
318
|
+
}
|
319
|
+
],
|
320
|
+
['--execute-print', '-p CODE', "Execute some Ruby code, print the result, then exit.",
|
321
|
+
lambda { |value|
|
322
|
+
puts eval(value)
|
323
|
+
exit
|
324
|
+
}
|
325
|
+
],
|
326
|
+
['--execute-continue', '-E CODE',
|
327
|
+
"Execute some Ruby code, then continue with normal task processing.",
|
328
|
+
lambda { |value| eval(value) }
|
329
|
+
],
|
330
|
+
['--libdir', '-I LIBDIR', "Include LIBDIR in the search path for required modules.",
|
331
|
+
lambda { |value| $:.push(value) }
|
332
|
+
],
|
333
|
+
['--no-search', '--nosearch', '-N', "Do not search parent directories for the Rakefile.",
|
334
|
+
lambda { |value| options.nosearch = true }
|
335
|
+
],
|
336
|
+
['--prereqs', '-P', "Display the tasks and dependencies, then exit.",
|
337
|
+
lambda { |value| options.show_prereqs = true }
|
338
|
+
],
|
339
|
+
['--quiet', '-q', "Do not log messages to standard output.",
|
340
|
+
lambda { |value| Rake.verbose(false) }
|
341
|
+
],
|
342
|
+
['--rakefile', '-f [FILE]', "Use FILE as the rakefile.",
|
343
|
+
lambda { |value|
|
344
|
+
value ||= ''
|
345
|
+
@rakefiles.clear
|
346
|
+
@rakefiles << value
|
347
|
+
}
|
348
|
+
],
|
349
|
+
['--rakelibdir', '--rakelib', '-R RAKELIBDIR',
|
350
|
+
"Auto-import any .rake files in RAKELIBDIR. (default is 'rakelib')",
|
351
|
+
# HACK Use File::PATH_SEPARATOR
|
352
|
+
lambda { |value| options.rakelib = value.split(':') }
|
353
|
+
],
|
354
|
+
['--require', '-r MODULE', "Require MODULE before executing rakefile.",
|
355
|
+
lambda { |value|
|
356
|
+
begin
|
357
|
+
require value
|
358
|
+
rescue LoadError => ex
|
359
|
+
begin
|
360
|
+
rake_require value
|
361
|
+
rescue LoadError
|
362
|
+
raise ex
|
363
|
+
end
|
364
|
+
end
|
365
|
+
}
|
366
|
+
],
|
367
|
+
['--rules', "Trace the rules resolution.",
|
368
|
+
lambda { |value| options.trace_rules = true }
|
369
|
+
],
|
370
|
+
['--silent', '-s', "Like --quiet, but also suppresses the 'in directory' announcement.",
|
371
|
+
lambda { |value|
|
372
|
+
Rake.verbose(false)
|
373
|
+
options.silent = true
|
374
|
+
}
|
375
|
+
],
|
376
|
+
['--system', '-g',
|
377
|
+
"Using system wide (global) rakefiles (usually '~/.rake/*.rake').",
|
378
|
+
lambda { |value| options.load_system = true }
|
379
|
+
],
|
380
|
+
['--no-system', '--nosystem', '-G',
|
381
|
+
"Use standard project Rakefile search paths, ignore system wide rakefiles.",
|
382
|
+
lambda { |value| options.ignore_system = true }
|
383
|
+
],
|
384
|
+
['--tasks', '-T [PATTERN]', "Display the tasks (matching optional PATTERN) with descriptions, then exit.",
|
385
|
+
lambda { |value|
|
386
|
+
options.show_tasks = :tasks
|
387
|
+
options.show_task_pattern = Regexp.new(value || '')
|
388
|
+
Rake::TaskManager.record_task_metadata = true
|
389
|
+
}
|
390
|
+
],
|
391
|
+
['--trace', '-t', "Turn on invoke/execute tracing, enable full backtrace.",
|
392
|
+
lambda { |value|
|
393
|
+
options.trace = true
|
394
|
+
Rake.verbose(true)
|
395
|
+
}
|
396
|
+
],
|
397
|
+
['--verbose', '-v', "Log message to standard output.",
|
398
|
+
lambda { |value| Rake.verbose(true) }
|
399
|
+
],
|
400
|
+
['--version', '-V', "Display the program version.",
|
401
|
+
lambda { |value|
|
402
|
+
puts "rake, version #{RAKEVERSION}"
|
403
|
+
exit
|
404
|
+
}
|
405
|
+
],
|
406
|
+
['--where', '-W [PATTERN]', "Describe the tasks (matching optional PATTERN), then exit.",
|
407
|
+
lambda { |value|
|
408
|
+
options.show_tasks = :lines
|
409
|
+
options.show_task_pattern = Regexp.new(value || '')
|
410
|
+
Rake::TaskManager.record_task_metadata = true
|
411
|
+
}
|
412
|
+
],
|
413
|
+
['--no-deprecation-warnings', '-X', "Disable the deprecation warnings.",
|
414
|
+
lambda { |value|
|
415
|
+
options.ignore_deprecate = true
|
416
|
+
}
|
417
|
+
],
|
418
|
+
]
|
419
|
+
end
|
420
|
+
|
421
|
+
# Read and handle the command line options.
|
422
|
+
def handle_options
|
423
|
+
options.rakelib = ['rakelib']
|
424
|
+
|
425
|
+
OptionParser.new do |opts|
|
426
|
+
opts.banner = "rake [-f rakefile] {options} targets..."
|
427
|
+
opts.separator ""
|
428
|
+
opts.separator "Options are ..."
|
429
|
+
|
430
|
+
opts.on_tail("-h", "--help", "-H", "Display this help message.") do
|
431
|
+
puts opts
|
432
|
+
exit
|
433
|
+
end
|
434
|
+
|
435
|
+
standard_rake_options.each { |args| opts.on(*args) }
|
436
|
+
opts.environment('RAKEOPT')
|
437
|
+
end.parse!
|
438
|
+
|
439
|
+
# If class namespaces are requested, set the global options
|
440
|
+
# according to the values in the options structure.
|
441
|
+
if options.classic_namespace
|
442
|
+
$show_tasks = options.show_tasks
|
443
|
+
$show_prereqs = options.show_prereqs
|
444
|
+
$trace = options.trace
|
445
|
+
$dryrun = options.dryrun
|
446
|
+
$silent = options.silent
|
447
|
+
end
|
448
|
+
end
|
449
|
+
|
450
|
+
# Similar to the regular Ruby +require+ command, but will check
|
451
|
+
# for *.rake files in addition to *.rb files.
|
452
|
+
def rake_require(file_name, paths=$LOAD_PATH, loaded=$")
|
453
|
+
fn = file_name + ".rake"
|
454
|
+
return false if loaded.include?(fn)
|
455
|
+
paths.each do |path|
|
456
|
+
full_path = File.join(path, fn)
|
457
|
+
if File.exist?(full_path)
|
458
|
+
Rake.load_rakefile(full_path)
|
459
|
+
loaded << fn
|
460
|
+
return true
|
461
|
+
end
|
462
|
+
end
|
463
|
+
fail LoadError, "Can't find #{file_name}"
|
464
|
+
end
|
465
|
+
|
466
|
+
def find_rakefile_location
|
467
|
+
here = Dir.pwd
|
468
|
+
while ! (fn = have_rakefile)
|
469
|
+
Dir.chdir("..")
|
470
|
+
if Dir.pwd == here || options.nosearch
|
471
|
+
return nil
|
472
|
+
end
|
473
|
+
here = Dir.pwd
|
474
|
+
end
|
475
|
+
[fn, here]
|
476
|
+
ensure
|
477
|
+
Dir.chdir(Rake.original_dir)
|
478
|
+
end
|
479
|
+
|
480
|
+
def print_rakefile_directory(location)
|
481
|
+
$stderr.puts "(in #{Dir.pwd})" unless
|
482
|
+
options.silent or original_dir == location
|
483
|
+
end
|
484
|
+
|
485
|
+
def raw_load_rakefile # :nodoc:
|
486
|
+
rakefile, location = find_rakefile_location
|
487
|
+
if (! options.ignore_system) &&
|
488
|
+
(options.load_system || rakefile.nil?) &&
|
489
|
+
system_dir && File.directory?(system_dir)
|
490
|
+
print_rakefile_directory(location)
|
491
|
+
glob("#{system_dir}/*.rake") do |name|
|
492
|
+
add_import name
|
493
|
+
end
|
494
|
+
else
|
495
|
+
fail "No Rakefile found (looking for: #{@rakefiles.join(', ')})" if
|
496
|
+
rakefile.nil?
|
497
|
+
@rakefile = rakefile
|
498
|
+
Dir.chdir(location)
|
499
|
+
print_rakefile_directory(location)
|
500
|
+
$rakefile = @rakefile if options.classic_namespace
|
501
|
+
Rake.load_rakefile(File.expand_path(@rakefile)) if @rakefile && @rakefile != ''
|
502
|
+
options.rakelib.each do |rlib|
|
503
|
+
glob("#{rlib}/*.rake") do |name|
|
504
|
+
add_import name
|
505
|
+
end
|
506
|
+
end
|
507
|
+
end
|
508
|
+
load_imports
|
509
|
+
end
|
510
|
+
|
511
|
+
def glob(path, &block)
|
512
|
+
Dir[path.gsub("\\", '/')].each(&block)
|
513
|
+
end
|
514
|
+
private :glob
|
515
|
+
|
516
|
+
# The directory path containing the system wide rakefiles.
|
517
|
+
def system_dir
|
518
|
+
@system_dir ||=
|
519
|
+
begin
|
520
|
+
if ENV['RAKE_SYSTEM']
|
521
|
+
ENV['RAKE_SYSTEM']
|
522
|
+
else
|
523
|
+
standard_system_dir
|
524
|
+
end
|
525
|
+
end
|
526
|
+
end
|
527
|
+
|
528
|
+
# The standard directory containing system wide rake files.
|
529
|
+
if Win32.windows?
|
530
|
+
def standard_system_dir #:nodoc:
|
531
|
+
Win32.win32_system_dir
|
532
|
+
end
|
533
|
+
else
|
534
|
+
def standard_system_dir #:nodoc:
|
535
|
+
File.join(File.expand_path('~'), '.rake')
|
536
|
+
end
|
537
|
+
end
|
538
|
+
private :standard_system_dir
|
539
|
+
|
540
|
+
# Collect the list of tasks on the command line. If no tasks are
|
541
|
+
# given, return a list containing only the default task.
|
542
|
+
# Environmental assignments are processed at this time as well.
|
543
|
+
def collect_tasks
|
544
|
+
@top_level_tasks = []
|
545
|
+
ARGV.each do |arg|
|
546
|
+
if arg =~ /^(\w+)=(.*)$/
|
547
|
+
ENV[$1] = $2
|
548
|
+
else
|
549
|
+
@top_level_tasks << arg unless arg =~ /^-/
|
550
|
+
end
|
551
|
+
end
|
552
|
+
@top_level_tasks.push("default") if @top_level_tasks.size == 0
|
553
|
+
end
|
554
|
+
|
555
|
+
# Add a file to the list of files to be imported.
|
556
|
+
def add_import(fn)
|
557
|
+
@pending_imports << fn
|
558
|
+
end
|
559
|
+
|
560
|
+
# Load the pending list of imported files.
|
561
|
+
def load_imports
|
562
|
+
while fn = @pending_imports.shift
|
563
|
+
next if @imported.member?(fn)
|
564
|
+
if fn_task = lookup(fn)
|
565
|
+
fn_task.invoke
|
566
|
+
end
|
567
|
+
ext = File.extname(fn)
|
568
|
+
loader = @loaders[ext] || @default_loader
|
569
|
+
loader.load(fn)
|
570
|
+
@imported << fn
|
571
|
+
end
|
572
|
+
end
|
573
|
+
|
574
|
+
# Warn about deprecated use of top level constant names.
|
575
|
+
def const_warning(const_name)
|
576
|
+
@const_warning ||= false
|
577
|
+
if ! @const_warning
|
578
|
+
$stderr.puts %{WARNING: Deprecated reference to top-level constant '#{const_name}' } +
|
579
|
+
%{found at: #{rakefile_location}} # '
|
580
|
+
$stderr.puts %{ Use --classic-namespace on rake command}
|
581
|
+
$stderr.puts %{ or 'require "rake/classic_namespace"' in Rakefile}
|
582
|
+
end
|
583
|
+
@const_warning = true
|
584
|
+
end
|
585
|
+
|
586
|
+
def rakefile_location backtrace = caller
|
587
|
+
backtrace.map { |t| t[/([^:]+):/,1] }
|
588
|
+
|
589
|
+
re = /^#{@rakefile}$/
|
590
|
+
re = /#{re.source}/i if windows?
|
591
|
+
|
592
|
+
backtrace.find { |str| str =~ re } || ''
|
593
|
+
end
|
594
|
+
end
|
595
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# The following classes used to be in the top level namespace.
|
2
|
+
# Loading this file enables compatibility with older Rakefile that
|
3
|
+
# referenced Task from the top level.
|
4
|
+
|
5
|
+
warn "WARNING: Classic namespaces are deprecated and will be removed from future versions of Rake."
|
6
|
+
# :stopdoc:
|
7
|
+
Task = Rake::Task
|
8
|
+
FileTask = Rake::FileTask
|
9
|
+
FileCreationTask = Rake::FileCreationTask
|
10
|
+
RakeApp = Rake::Application
|
11
|
+
# :startdoc:
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# The 'rake/clean' file defines two file lists (CLEAN and CLOBBER) and
|
2
|
+
# two rake tasks (:clean and :clobber).
|
3
|
+
#
|
4
|
+
# [:clean] Clean up the project by deleting scratch files and backup
|
5
|
+
# files. Add files to the CLEAN file list to have the :clean
|
6
|
+
# target handle them.
|
7
|
+
#
|
8
|
+
# [:clobber] Clobber all generated and non-source files in a project.
|
9
|
+
# The task depends on :clean, so all the clean files will
|
10
|
+
# be deleted as well as files in the CLOBBER file list.
|
11
|
+
# The intent of this task is to return a project to its
|
12
|
+
# pristine, just unpacked state.
|
13
|
+
|
14
|
+
require 'rake'
|
15
|
+
|
16
|
+
# :stopdoc:
|
17
|
+
CLEAN = Rake::FileList["**/*~", "**/*.bak", "**/core"]
|
18
|
+
CLEAN.clear_exclude.exclude { |fn|
|
19
|
+
fn.pathmap("%f") == 'core' && File.directory?(fn)
|
20
|
+
}
|
21
|
+
|
22
|
+
desc "Remove any temporary products."
|
23
|
+
task :clean do
|
24
|
+
CLEAN.each { |fn| rm_r fn rescue nil }
|
25
|
+
end
|
26
|
+
|
27
|
+
CLOBBER = Rake::FileList.new
|
28
|
+
|
29
|
+
desc "Remove any generated file."
|
30
|
+
task :clobber => [:clean] do
|
31
|
+
CLOBBER.each { |fn| rm_r fn rescue nil }
|
32
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Rake
|
2
|
+
# ##########################################################################
|
3
|
+
# Mixin for creating easily cloned objects.
|
4
|
+
#
|
5
|
+
module Cloneable
|
6
|
+
# Clone an object by making a new object and setting all the instance
|
7
|
+
# variables to the same values.
|
8
|
+
def dup
|
9
|
+
sibling = self.class.new
|
10
|
+
instance_variables.each do |ivar|
|
11
|
+
value = self.instance_variable_get(ivar)
|
12
|
+
new_value = value.clone rescue value
|
13
|
+
sibling.instance_variable_set(ivar, new_value)
|
14
|
+
end
|
15
|
+
sibling.taint if tainted?
|
16
|
+
sibling
|
17
|
+
end
|
18
|
+
|
19
|
+
def clone
|
20
|
+
sibling = dup
|
21
|
+
sibling.freeze if frozen?
|
22
|
+
sibling
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Rake
|
2
|
+
|
3
|
+
# Manage several publishers as a single entity.
|
4
|
+
class CompositePublisher
|
5
|
+
def initialize
|
6
|
+
@publishers = []
|
7
|
+
end
|
8
|
+
|
9
|
+
# Add a publisher to the composite.
|
10
|
+
def add(pub)
|
11
|
+
@publishers << pub
|
12
|
+
end
|
13
|
+
|
14
|
+
# Upload all the individual publishers.
|
15
|
+
def upload
|
16
|
+
@publishers.each { |p| p.upload }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|