mack 0.8.1 → 0.8.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.
Files changed (477) hide show
  1. data/CHANGELOG +22 -1
  2. data/bin/mack +3 -0
  3. data/bin/mackery-console +4 -0
  4. data/bin/mackery-server +21 -4
  5. data/lib/gems.rb +15 -0
  6. data/lib/gems/abstract-1.0.0/lib/abstract.rb +75 -0
  7. data/lib/gems/builder-2.1.2/lib/blankslate.rb +113 -0
  8. data/lib/gems/builder-2.1.2/lib/builder.rb +13 -0
  9. data/lib/gems/builder-2.1.2/lib/builder/blankslate.rb +20 -0
  10. data/lib/gems/builder-2.1.2/lib/builder/css.rb +250 -0
  11. data/lib/gems/builder-2.1.2/lib/builder/xchar.rb +115 -0
  12. data/lib/gems/builder-2.1.2/lib/builder/xmlbase.rb +139 -0
  13. data/lib/gems/builder-2.1.2/lib/builder/xmlevents.rb +63 -0
  14. data/lib/gems/builder-2.1.2/lib/builder/xmlmarkup.rb +328 -0
  15. data/lib/gems/configatron-2.1.5/lib/configatron.rb +6 -0
  16. data/lib/gems/configatron-2.1.5/lib/configatron/configatron.rb +52 -0
  17. data/lib/gems/configatron-2.1.5/lib/configatron/errors.rb +7 -0
  18. data/lib/gems/configatron-2.1.5/lib/configatron/kernel.rb +8 -0
  19. data/lib/gems/configatron-2.1.5/lib/configatron/store.rb +224 -0
  20. data/lib/gems/daemons-1.0.10/lib/daemons.rb +283 -0
  21. data/lib/gems/daemons-1.0.10/lib/daemons/application.rb +372 -0
  22. data/lib/gems/daemons-1.0.10/lib/daemons/application_group.rb +152 -0
  23. data/lib/gems/daemons-1.0.10/lib/daemons/cmdline.rb +117 -0
  24. data/lib/gems/daemons-1.0.10/lib/daemons/controller.rb +134 -0
  25. data/lib/gems/daemons-1.0.10/lib/daemons/daemonize.rb +263 -0
  26. data/lib/gems/daemons-1.0.10/lib/daemons/exceptions.rb +28 -0
  27. data/lib/gems/daemons-1.0.10/lib/daemons/monitor.rb +127 -0
  28. data/lib/gems/daemons-1.0.10/lib/daemons/pid.rb +101 -0
  29. data/lib/gems/daemons-1.0.10/lib/daemons/pidfile.rb +111 -0
  30. data/lib/gems/daemons-1.0.10/lib/daemons/pidmem.rb +10 -0
  31. data/lib/gems/flexmock-0.8.3/lib/flexmock.rb +13 -0
  32. data/lib/gems/flexmock-0.8.3/lib/flexmock/argument_matchers.rb +57 -0
  33. data/lib/gems/flexmock-0.8.3/lib/flexmock/argument_types.rb +42 -0
  34. data/lib/gems/flexmock-0.8.3/lib/flexmock/base.rb +24 -0
  35. data/lib/gems/flexmock-0.8.3/lib/flexmock/composite.rb +10 -0
  36. data/lib/gems/flexmock-0.8.3/lib/flexmock/core.rb +218 -0
  37. data/lib/gems/flexmock-0.8.3/lib/flexmock/core_class_methods.rb +83 -0
  38. data/lib/gems/flexmock-0.8.3/lib/flexmock/default_framework_adapter.rb +31 -0
  39. data/lib/gems/flexmock-0.8.3/lib/flexmock/deprecated_methods.rb +62 -0
  40. data/lib/gems/flexmock-0.8.3/lib/flexmock/errors.rb +23 -0
  41. data/lib/gems/flexmock-0.8.3/lib/flexmock/expectation.rb +476 -0
  42. data/lib/gems/flexmock-0.8.3/lib/flexmock/expectation_director.rb +87 -0
  43. data/lib/gems/flexmock-0.8.3/lib/flexmock/mock_container.rb +321 -0
  44. data/lib/gems/flexmock-0.8.3/lib/flexmock/noop.rb +13 -0
  45. data/lib/gems/flexmock-0.8.3/lib/flexmock/ordering.rb +51 -0
  46. data/lib/gems/flexmock-0.8.3/lib/flexmock/partial_mock.rb +291 -0
  47. data/lib/gems/flexmock-0.8.3/lib/flexmock/rails.rb +15 -0
  48. data/lib/gems/flexmock-0.8.3/lib/flexmock/rails/view_mocking.rb +102 -0
  49. data/lib/gems/flexmock-0.8.3/lib/flexmock/recorder.rb +71 -0
  50. data/lib/gems/flexmock-0.8.3/lib/flexmock/rspec.rb +34 -0
  51. data/lib/gems/flexmock-0.8.3/lib/flexmock/test_unit.rb +32 -0
  52. data/lib/gems/flexmock-0.8.3/lib/flexmock/test_unit_integration.rb +53 -0
  53. data/lib/gems/flexmock-0.8.3/lib/flexmock/undefined.rb +50 -0
  54. data/lib/gems/flexmock-0.8.3/lib/flexmock/validators.rb +77 -0
  55. data/lib/gems/genosaurus-1.2.4/lib/genosaurus.rb +233 -0
  56. data/lib/gems/lockfile-1.4.3/bin/rlock +360 -0
  57. data/lib/gems/lockfile-1.4.3/bin/rlock-1.4.3 +360 -0
  58. data/lib/gems/lockfile-1.4.3/lib/lockfile-1.4.3.rb +564 -0
  59. data/lib/gems/lockfile-1.4.3/lib/lockfile.rb +564 -0
  60. data/lib/gems/logging-0.9.4/data/bad_logging_1.rb +13 -0
  61. data/lib/gems/logging-0.9.4/data/bad_logging_2.rb +21 -0
  62. data/lib/gems/logging-0.9.4/data/logging.rb +42 -0
  63. data/lib/gems/logging-0.9.4/data/logging.yaml +63 -0
  64. data/lib/gems/logging-0.9.4/data/simple_logging.rb +13 -0
  65. data/lib/gems/logging-0.9.4/lib/logging.rb +404 -0
  66. data/lib/gems/logging-0.9.4/lib/logging/appender.rb +300 -0
  67. data/lib/gems/logging-0.9.4/lib/logging/appenders/console.rb +62 -0
  68. data/lib/gems/logging-0.9.4/lib/logging/appenders/email.rb +130 -0
  69. data/lib/gems/logging-0.9.4/lib/logging/appenders/file.rb +54 -0
  70. data/lib/gems/logging-0.9.4/lib/logging/appenders/growl.rb +197 -0
  71. data/lib/gems/logging-0.9.4/lib/logging/appenders/io.rb +80 -0
  72. data/lib/gems/logging-0.9.4/lib/logging/appenders/rolling_file.rb +291 -0
  73. data/lib/gems/logging-0.9.4/lib/logging/appenders/syslog.rb +201 -0
  74. data/lib/gems/logging-0.9.4/lib/logging/config/configurator.rb +190 -0
  75. data/lib/gems/logging-0.9.4/lib/logging/config/yaml_configurator.rb +195 -0
  76. data/lib/gems/logging-0.9.4/lib/logging/layout.rb +110 -0
  77. data/lib/gems/logging-0.9.4/lib/logging/layouts/basic.rb +34 -0
  78. data/lib/gems/logging-0.9.4/lib/logging/layouts/pattern.rb +291 -0
  79. data/lib/gems/logging-0.9.4/lib/logging/log_event.rb +49 -0
  80. data/lib/gems/logging-0.9.4/lib/logging/logger.rb +490 -0
  81. data/lib/gems/logging-0.9.4/lib/logging/repository.rb +172 -0
  82. data/lib/gems/logging-0.9.4/lib/logging/root_logger.rb +61 -0
  83. data/lib/gems/logging-0.9.4/lib/logging/stats.rb +278 -0
  84. data/lib/gems/logging-0.9.4/lib/logging/utils.rb +130 -0
  85. data/lib/gems/rack-0.4.0/bin/rackup +172 -0
  86. data/lib/gems/rack-0.4.0/lib/rack.rb +81 -0
  87. data/lib/gems/rack-0.4.0/lib/rack/adapter/camping.rb +22 -0
  88. data/lib/gems/rack-0.4.0/lib/rack/auth/abstract/handler.rb +28 -0
  89. data/lib/gems/rack-0.4.0/lib/rack/auth/abstract/request.rb +37 -0
  90. data/lib/gems/rack-0.4.0/lib/rack/auth/basic.rb +58 -0
  91. data/lib/gems/rack-0.4.0/lib/rack/auth/digest/md5.rb +124 -0
  92. data/lib/gems/rack-0.4.0/lib/rack/auth/digest/nonce.rb +51 -0
  93. data/lib/gems/rack-0.4.0/lib/rack/auth/digest/params.rb +55 -0
  94. data/lib/gems/rack-0.4.0/lib/rack/auth/digest/request.rb +40 -0
  95. data/lib/gems/rack-0.4.0/lib/rack/auth/openid.rb +437 -0
  96. data/lib/gems/rack-0.4.0/lib/rack/builder.rb +56 -0
  97. data/lib/gems/rack-0.4.0/lib/rack/cascade.rb +36 -0
  98. data/lib/gems/rack-0.4.0/lib/rack/commonlogger.rb +61 -0
  99. data/lib/gems/rack-0.4.0/lib/rack/deflater.rb +63 -0
  100. data/lib/gems/rack-0.4.0/lib/rack/directory.rb +158 -0
  101. data/lib/gems/rack-0.4.0/lib/rack/file.rb +116 -0
  102. data/lib/gems/rack-0.4.0/lib/rack/handler.rb +44 -0
  103. data/lib/gems/rack-0.4.0/lib/rack/handler/cgi.rb +57 -0
  104. data/lib/gems/rack-0.4.0/lib/rack/handler/evented_mongrel.rb +8 -0
  105. data/lib/gems/rack-0.4.0/lib/rack/handler/fastcgi.rb +84 -0
  106. data/lib/gems/rack-0.4.0/lib/rack/handler/lsws.rb +52 -0
  107. data/lib/gems/rack-0.4.0/lib/rack/handler/mongrel.rb +78 -0
  108. data/lib/gems/rack-0.4.0/lib/rack/handler/scgi.rb +57 -0
  109. data/lib/gems/rack-0.4.0/lib/rack/handler/webrick.rb +57 -0
  110. data/lib/gems/rack-0.4.0/lib/rack/lint.rb +401 -0
  111. data/lib/gems/rack-0.4.0/lib/rack/lobster.rb +65 -0
  112. data/lib/gems/rack-0.4.0/lib/rack/mock.rb +160 -0
  113. data/lib/gems/rack-0.4.0/lib/rack/recursive.rb +57 -0
  114. data/lib/gems/rack-0.4.0/lib/rack/reloader.rb +64 -0
  115. data/lib/gems/rack-0.4.0/lib/rack/request.rb +209 -0
  116. data/lib/gems/rack-0.4.0/lib/rack/response.rb +166 -0
  117. data/lib/gems/rack-0.4.0/lib/rack/session/abstract/id.rb +140 -0
  118. data/lib/gems/rack-0.4.0/lib/rack/session/cookie.rb +71 -0
  119. data/lib/gems/rack-0.4.0/lib/rack/session/memcache.rb +97 -0
  120. data/lib/gems/rack-0.4.0/lib/rack/session/pool.rb +73 -0
  121. data/lib/gems/rack-0.4.0/lib/rack/showexceptions.rb +344 -0
  122. data/lib/gems/rack-0.4.0/lib/rack/showstatus.rb +105 -0
  123. data/lib/gems/rack-0.4.0/lib/rack/static.rb +38 -0
  124. data/lib/gems/rack-0.4.0/lib/rack/urlmap.rb +48 -0
  125. data/lib/gems/rack-0.4.0/lib/rack/utils.rb +318 -0
  126. data/lib/gems/rcov-0.8.1.2.0/bin/rcov +1327 -0
  127. data/lib/gems/rcov-0.8.1.2.0/ext/rcovrt/callsite.c +242 -0
  128. data/lib/gems/rcov-0.8.1.2.0/ext/rcovrt/extconf.rb +11 -0
  129. data/lib/gems/rcov-0.8.1.2.0/ext/rcovrt/rcovrt.c +329 -0
  130. data/lib/gems/rcov-0.8.1.2.0/lib/rcov.rb +988 -0
  131. data/lib/gems/rcov-0.8.1.2.0/lib/rcov/lowlevel.rb +147 -0
  132. data/lib/gems/rcov-0.8.1.2.0/lib/rcov/rant.rb +87 -0
  133. data/lib/gems/rcov-0.8.1.2.0/lib/rcov/rcovtask.rb +156 -0
  134. data/lib/gems/rcov-0.8.1.2.0/lib/rcov/report.rb +1236 -0
  135. data/lib/gems/rcov-0.8.1.2.0/lib/rcov/version.rb +13 -0
  136. data/lib/gems/rspec-1.1.11/bin/autospec +4 -0
  137. data/lib/gems/rspec-1.1.11/bin/spec +4 -0
  138. data/lib/gems/rspec-1.1.11/lib/autotest/discover.rb +3 -0
  139. data/lib/gems/rspec-1.1.11/lib/autotest/rspec.rb +46 -0
  140. data/lib/gems/rspec-1.1.11/lib/spec.rb +32 -0
  141. data/lib/gems/rspec-1.1.11/lib/spec/adapters.rb +1 -0
  142. data/lib/gems/rspec-1.1.11/lib/spec/adapters/ruby_engine.rb +26 -0
  143. data/lib/gems/rspec-1.1.11/lib/spec/adapters/ruby_engine/mri.rb +8 -0
  144. data/lib/gems/rspec-1.1.11/lib/spec/adapters/ruby_engine/rubinius.rb +8 -0
  145. data/lib/gems/rspec-1.1.11/lib/spec/example.rb +12 -0
  146. data/lib/gems/rspec-1.1.11/lib/spec/example/before_and_after_hooks.rb +93 -0
  147. data/lib/gems/rspec-1.1.11/lib/spec/example/configuration.rb +167 -0
  148. data/lib/gems/rspec-1.1.11/lib/spec/example/errors.rb +30 -0
  149. data/lib/gems/rspec-1.1.11/lib/spec/example/example_group.rb +25 -0
  150. data/lib/gems/rspec-1.1.11/lib/spec/example/example_group_factory.rb +81 -0
  151. data/lib/gems/rspec-1.1.11/lib/spec/example/example_group_methods.rb +368 -0
  152. data/lib/gems/rspec-1.1.11/lib/spec/example/example_matcher.rb +44 -0
  153. data/lib/gems/rspec-1.1.11/lib/spec/example/example_methods.rb +105 -0
  154. data/lib/gems/rspec-1.1.11/lib/spec/example/module_reopening_fix.rb +21 -0
  155. data/lib/gems/rspec-1.1.11/lib/spec/example/pending.rb +18 -0
  156. data/lib/gems/rspec-1.1.11/lib/spec/example/shared_example_group.rb +52 -0
  157. data/lib/gems/rspec-1.1.11/lib/spec/expectations.rb +56 -0
  158. data/lib/gems/rspec-1.1.11/lib/spec/expectations/differs/default.rb +66 -0
  159. data/lib/gems/rspec-1.1.11/lib/spec/expectations/errors.rb +12 -0
  160. data/lib/gems/rspec-1.1.11/lib/spec/expectations/extensions.rb +2 -0
  161. data/lib/gems/rspec-1.1.11/lib/spec/expectations/extensions/object.rb +63 -0
  162. data/lib/gems/rspec-1.1.11/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
  163. data/lib/gems/rspec-1.1.11/lib/spec/expectations/handler.rb +52 -0
  164. data/lib/gems/rspec-1.1.11/lib/spec/extensions.rb +4 -0
  165. data/lib/gems/rspec-1.1.11/lib/spec/extensions/class.rb +24 -0
  166. data/lib/gems/rspec-1.1.11/lib/spec/extensions/main.rb +87 -0
  167. data/lib/gems/rspec-1.1.11/lib/spec/extensions/metaclass.rb +7 -0
  168. data/lib/gems/rspec-1.1.11/lib/spec/extensions/object.rb +6 -0
  169. data/lib/gems/rspec-1.1.11/lib/spec/interop/test.rb +12 -0
  170. data/lib/gems/rspec-1.1.11/lib/spec/interop/test/unit/autorunner.rb +6 -0
  171. data/lib/gems/rspec-1.1.11/lib/spec/interop/test/unit/testcase.rb +71 -0
  172. data/lib/gems/rspec-1.1.11/lib/spec/interop/test/unit/testresult.rb +6 -0
  173. data/lib/gems/rspec-1.1.11/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  174. data/lib/gems/rspec-1.1.11/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  175. data/lib/gems/rspec-1.1.11/lib/spec/matchers.rb +162 -0
  176. data/lib/gems/rspec-1.1.11/lib/spec/matchers/be.rb +221 -0
  177. data/lib/gems/rspec-1.1.11/lib/spec/matchers/be_close.rb +37 -0
  178. data/lib/gems/rspec-1.1.11/lib/spec/matchers/change.rb +148 -0
  179. data/lib/gems/rspec-1.1.11/lib/spec/matchers/eql.rb +43 -0
  180. data/lib/gems/rspec-1.1.11/lib/spec/matchers/equal.rb +43 -0
  181. data/lib/gems/rspec-1.1.11/lib/spec/matchers/exist.rb +22 -0
  182. data/lib/gems/rspec-1.1.11/lib/spec/matchers/has.rb +34 -0
  183. data/lib/gems/rspec-1.1.11/lib/spec/matchers/have.rb +150 -0
  184. data/lib/gems/rspec-1.1.11/lib/spec/matchers/include.rb +77 -0
  185. data/lib/gems/rspec-1.1.11/lib/spec/matchers/match.rb +41 -0
  186. data/lib/gems/rspec-1.1.11/lib/spec/matchers/operator_matcher.rb +79 -0
  187. data/lib/gems/rspec-1.1.11/lib/spec/matchers/raise_error.rb +132 -0
  188. data/lib/gems/rspec-1.1.11/lib/spec/matchers/respond_to.rb +46 -0
  189. data/lib/gems/rspec-1.1.11/lib/spec/matchers/satisfy.rb +47 -0
  190. data/lib/gems/rspec-1.1.11/lib/spec/matchers/simple_matcher.rb +132 -0
  191. data/lib/gems/rspec-1.1.11/lib/spec/matchers/throw_symbol.rb +74 -0
  192. data/lib/gems/rspec-1.1.11/lib/spec/mocks.rb +200 -0
  193. data/lib/gems/rspec-1.1.11/lib/spec/mocks/argument_constraints.rb +165 -0
  194. data/lib/gems/rspec-1.1.11/lib/spec/mocks/argument_expectation.rb +49 -0
  195. data/lib/gems/rspec-1.1.11/lib/spec/mocks/error_generator.rb +84 -0
  196. data/lib/gems/rspec-1.1.11/lib/spec/mocks/errors.rb +10 -0
  197. data/lib/gems/rspec-1.1.11/lib/spec/mocks/extensions.rb +1 -0
  198. data/lib/gems/rspec-1.1.11/lib/spec/mocks/extensions/object.rb +3 -0
  199. data/lib/gems/rspec-1.1.11/lib/spec/mocks/framework.rb +15 -0
  200. data/lib/gems/rspec-1.1.11/lib/spec/mocks/message_expectation.rb +331 -0
  201. data/lib/gems/rspec-1.1.11/lib/spec/mocks/methods.rb +51 -0
  202. data/lib/gems/rspec-1.1.11/lib/spec/mocks/mock.rb +56 -0
  203. data/lib/gems/rspec-1.1.11/lib/spec/mocks/order_group.rb +29 -0
  204. data/lib/gems/rspec-1.1.11/lib/spec/mocks/proxy.rb +224 -0
  205. data/lib/gems/rspec-1.1.11/lib/spec/mocks/space.rb +28 -0
  206. data/lib/gems/rspec-1.1.11/lib/spec/mocks/spec_methods.rb +46 -0
  207. data/lib/gems/rspec-1.1.11/lib/spec/rake/spectask.rb +227 -0
  208. data/lib/gems/rspec-1.1.11/lib/spec/rake/verify_rcov.rb +52 -0
  209. data/lib/gems/rspec-1.1.11/lib/spec/runner.rb +213 -0
  210. data/lib/gems/rspec-1.1.11/lib/spec/runner/backtrace_tweaker.rb +56 -0
  211. data/lib/gems/rspec-1.1.11/lib/spec/runner/class_and_arguments_parser.rb +16 -0
  212. data/lib/gems/rspec-1.1.11/lib/spec/runner/command_line.rb +17 -0
  213. data/lib/gems/rspec-1.1.11/lib/spec/runner/drb_command_line.rb +20 -0
  214. data/lib/gems/rspec-1.1.11/lib/spec/runner/example_group_runner.rb +59 -0
  215. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/base_formatter.rb +79 -0
  216. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/base_text_formatter.rb +126 -0
  217. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/failing_example_groups_formatter.rb +27 -0
  218. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  219. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/html_formatter.rb +337 -0
  220. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/nested_text_formatter.rb +65 -0
  221. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/profile_formatter.rb +51 -0
  222. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/progress_bar_formatter.rb +34 -0
  223. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  224. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/specdoc_formatter.rb +39 -0
  225. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/story/html_formatter.rb +174 -0
  226. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/story/plain_text_formatter.rb +194 -0
  227. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/story/progress_bar_formatter.rb +42 -0
  228. data/lib/gems/rspec-1.1.11/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  229. data/lib/gems/rspec-1.1.11/lib/spec/runner/heckle_runner.rb +72 -0
  230. data/lib/gems/rspec-1.1.11/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  231. data/lib/gems/rspec-1.1.11/lib/spec/runner/option_parser.rb +205 -0
  232. data/lib/gems/rspec-1.1.11/lib/spec/runner/options.rb +320 -0
  233. data/lib/gems/rspec-1.1.11/lib/spec/runner/reporter.rb +167 -0
  234. data/lib/gems/rspec-1.1.11/lib/spec/runner/spec_parser.rb +71 -0
  235. data/lib/gems/rspec-1.1.11/lib/spec/story.rb +10 -0
  236. data/lib/gems/rspec-1.1.11/lib/spec/story/extensions.rb +3 -0
  237. data/lib/gems/rspec-1.1.11/lib/spec/story/extensions/main.rb +86 -0
  238. data/lib/gems/rspec-1.1.11/lib/spec/story/extensions/regexp.rb +9 -0
  239. data/lib/gems/rspec-1.1.11/lib/spec/story/extensions/string.rb +9 -0
  240. data/lib/gems/rspec-1.1.11/lib/spec/story/given_scenario.rb +14 -0
  241. data/lib/gems/rspec-1.1.11/lib/spec/story/runner.rb +59 -0
  242. data/lib/gems/rspec-1.1.11/lib/spec/story/runner/plain_text_story_runner.rb +48 -0
  243. data/lib/gems/rspec-1.1.11/lib/spec/story/runner/scenario_collector.rb +18 -0
  244. data/lib/gems/rspec-1.1.11/lib/spec/story/runner/scenario_runner.rb +54 -0
  245. data/lib/gems/rspec-1.1.11/lib/spec/story/runner/story_mediator.rb +137 -0
  246. data/lib/gems/rspec-1.1.11/lib/spec/story/runner/story_parser.rb +247 -0
  247. data/lib/gems/rspec-1.1.11/lib/spec/story/runner/story_runner.rb +70 -0
  248. data/lib/gems/rspec-1.1.11/lib/spec/story/scenario.rb +14 -0
  249. data/lib/gems/rspec-1.1.11/lib/spec/story/step.rb +70 -0
  250. data/lib/gems/rspec-1.1.11/lib/spec/story/step_group.rb +89 -0
  251. data/lib/gems/rspec-1.1.11/lib/spec/story/step_mother.rb +38 -0
  252. data/lib/gems/rspec-1.1.11/lib/spec/story/story.rb +39 -0
  253. data/lib/gems/rspec-1.1.11/lib/spec/story/world.rb +128 -0
  254. data/lib/gems/rspec-1.1.11/lib/spec/version.rb +13 -0
  255. data/lib/gems/rspec-1.1.11/plugins/mock_frameworks/flexmock.rb +23 -0
  256. data/lib/gems/rspec-1.1.11/plugins/mock_frameworks/mocha.rb +19 -0
  257. data/lib/gems/rspec-1.1.11/plugins/mock_frameworks/rr.rb +21 -0
  258. data/lib/gems/rspec-1.1.11/plugins/mock_frameworks/rspec.rb +20 -0
  259. data/lib/gems/rspec-1.1.11/rake_tasks/examples.rake +7 -0
  260. data/lib/gems/rspec-1.1.11/rake_tasks/examples_with_rcov.rake +9 -0
  261. data/lib/gems/rspec-1.1.11/rake_tasks/failing_examples_with_html.rake +9 -0
  262. data/lib/gems/rspec-1.1.11/rake_tasks/verify_rcov.rake +7 -0
  263. data/lib/gems/rspec-1.1.11/spec/README.jruby +15 -0
  264. data/lib/gems/rspec-1.1.11/spec/autotest/autotest_helper.rb +6 -0
  265. data/lib/gems/rspec-1.1.11/spec/autotest/autotest_matchers.rb +47 -0
  266. data/lib/gems/rspec-1.1.11/spec/autotest/discover_spec.rb +19 -0
  267. data/lib/gems/rspec-1.1.11/spec/autotest/rspec_spec.rb +150 -0
  268. data/lib/gems/rspec-1.1.11/spec/rspec_suite.rb +6 -0
  269. data/lib/gems/rspec-1.1.11/spec/ruby_forker.rb +13 -0
  270. data/lib/gems/rspec-1.1.11/spec/spec.opts +6 -0
  271. data/lib/gems/rspec-1.1.11/spec/spec/adapters/ruby_engine_spec.rb +16 -0
  272. data/lib/gems/rspec-1.1.11/spec/spec/example/configuration_spec.rb +296 -0
  273. data/lib/gems/rspec-1.1.11/spec/spec/example/example_group_class_definition_spec.rb +48 -0
  274. data/lib/gems/rspec-1.1.11/spec/spec/example/example_group_factory_spec.rb +165 -0
  275. data/lib/gems/rspec-1.1.11/spec/spec/example/example_group_methods_spec.rb +584 -0
  276. data/lib/gems/rspec-1.1.11/spec/spec/example/example_group_spec.rb +683 -0
  277. data/lib/gems/rspec-1.1.11/spec/spec/example/example_matcher_spec.rb +96 -0
  278. data/lib/gems/rspec-1.1.11/spec/spec/example/example_methods_spec.rb +169 -0
  279. data/lib/gems/rspec-1.1.11/spec/spec/example/example_runner_spec.rb +194 -0
  280. data/lib/gems/rspec-1.1.11/spec/spec/example/nested_example_group_spec.rb +71 -0
  281. data/lib/gems/rspec-1.1.11/spec/spec/example/pending_module_spec.rb +145 -0
  282. data/lib/gems/rspec-1.1.11/spec/spec/example/predicate_matcher_spec.rb +21 -0
  283. data/lib/gems/rspec-1.1.11/spec/spec/example/shared_example_group_spec.rb +281 -0
  284. data/lib/gems/rspec-1.1.11/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  285. data/lib/gems/rspec-1.1.11/spec/spec/expectations/differs/default_spec.rb +127 -0
  286. data/lib/gems/rspec-1.1.11/spec/spec/expectations/extensions/object_spec.rb +95 -0
  287. data/lib/gems/rspec-1.1.11/spec/spec/expectations/fail_with_spec.rb +71 -0
  288. data/lib/gems/rspec-1.1.11/spec/spec/extensions/main_spec.rb +71 -0
  289. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  290. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  291. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  292. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  293. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  294. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  295. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  296. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  297. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/spec_spec.rb +52 -0
  298. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/test_unit_spec_helper.rb +14 -0
  299. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/testcase_spec.rb +49 -0
  300. data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  301. data/lib/gems/rspec-1.1.11/spec/spec/matchers/be_close_spec.rb +39 -0
  302. data/lib/gems/rspec-1.1.11/spec/spec/matchers/be_spec.rb +248 -0
  303. data/lib/gems/rspec-1.1.11/spec/spec/matchers/change_spec.rb +329 -0
  304. data/lib/gems/rspec-1.1.11/spec/spec/matchers/description_generation_spec.rb +153 -0
  305. data/lib/gems/rspec-1.1.11/spec/spec/matchers/eql_spec.rb +28 -0
  306. data/lib/gems/rspec-1.1.11/spec/spec/matchers/equal_spec.rb +28 -0
  307. data/lib/gems/rspec-1.1.11/spec/spec/matchers/exist_spec.rb +57 -0
  308. data/lib/gems/rspec-1.1.11/spec/spec/matchers/handler_spec.rb +150 -0
  309. data/lib/gems/rspec-1.1.11/spec/spec/matchers/has_spec.rb +63 -0
  310. data/lib/gems/rspec-1.1.11/spec/spec/matchers/have_spec.rb +394 -0
  311. data/lib/gems/rspec-1.1.11/spec/spec/matchers/include_spec.rb +64 -0
  312. data/lib/gems/rspec-1.1.11/spec/spec/matchers/match_spec.rb +37 -0
  313. data/lib/gems/rspec-1.1.11/spec/spec/matchers/matcher_methods_spec.rb +78 -0
  314. data/lib/gems/rspec-1.1.11/spec/spec/matchers/mock_constraint_matchers_spec.rb +24 -0
  315. data/lib/gems/rspec-1.1.11/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  316. data/lib/gems/rspec-1.1.11/spec/spec/matchers/raise_error_spec.rb +315 -0
  317. data/lib/gems/rspec-1.1.11/spec/spec/matchers/respond_to_spec.rb +54 -0
  318. data/lib/gems/rspec-1.1.11/spec/spec/matchers/satisfy_spec.rb +36 -0
  319. data/lib/gems/rspec-1.1.11/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  320. data/lib/gems/rspec-1.1.11/spec/spec/matchers/throw_symbol_spec.rb +54 -0
  321. data/lib/gems/rspec-1.1.11/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  322. data/lib/gems/rspec-1.1.11/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  323. data/lib/gems/rspec-1.1.11/spec/spec/mocks/at_least_spec.rb +97 -0
  324. data/lib/gems/rspec-1.1.11/spec/spec/mocks/at_most_spec.rb +93 -0
  325. data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  326. data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_10263_spec.rb +24 -0
  327. data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_11545_spec.rb +33 -0
  328. data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  329. data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_496.rb +17 -0
  330. data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  331. data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  332. data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  333. data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  334. data/lib/gems/rspec-1.1.11/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +95 -0
  335. data/lib/gems/rspec-1.1.11/spec/spec/mocks/hash_including_matcher_spec.rb +53 -0
  336. data/lib/gems/rspec-1.1.11/spec/spec/mocks/mock_ordering_spec.rb +84 -0
  337. data/lib/gems/rspec-1.1.11/spec/spec/mocks/mock_space_spec.rb +54 -0
  338. data/lib/gems/rspec-1.1.11/spec/spec/mocks/mock_spec.rb +555 -0
  339. data/lib/gems/rspec-1.1.11/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  340. data/lib/gems/rspec-1.1.11/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  341. data/lib/gems/rspec-1.1.11/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  342. data/lib/gems/rspec-1.1.11/spec/spec/mocks/once_counts_spec.rb +53 -0
  343. data/lib/gems/rspec-1.1.11/spec/spec/mocks/options_hash_spec.rb +35 -0
  344. data/lib/gems/rspec-1.1.11/spec/spec/mocks/partial_mock_spec.rb +149 -0
  345. data/lib/gems/rspec-1.1.11/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  346. data/lib/gems/rspec-1.1.11/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +130 -0
  347. data/lib/gems/rspec-1.1.11/spec/spec/mocks/precise_counts_spec.rb +52 -0
  348. data/lib/gems/rspec-1.1.11/spec/spec/mocks/record_messages_spec.rb +26 -0
  349. data/lib/gems/rspec-1.1.11/spec/spec/mocks/stub_spec.rb +188 -0
  350. data/lib/gems/rspec-1.1.11/spec/spec/mocks/twice_counts_spec.rb +67 -0
  351. data/lib/gems/rspec-1.1.11/spec/spec/package/bin_spec_spec.rb +22 -0
  352. data/lib/gems/rspec-1.1.11/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  353. data/lib/gems/rspec-1.1.11/spec/spec/runner/command_line_spec.rb +141 -0
  354. data/lib/gems/rspec-1.1.11/spec/spec/runner/drb_command_line_spec.rb +97 -0
  355. data/lib/gems/rspec-1.1.11/spec/spec/runner/empty_file.txt +0 -0
  356. data/lib/gems/rspec-1.1.11/spec/spec/runner/examples.txt +2 -0
  357. data/lib/gems/rspec-1.1.11/spec/spec/runner/failed.txt +3 -0
  358. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/base_formatter_spec.rb +112 -0
  359. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  360. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  361. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.4.html +365 -0
  362. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +387 -0
  363. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.5.html +371 -0
  364. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +381 -0
  365. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.6.html +370 -0
  366. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatter_spec.rb +61 -0
  367. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/nested_text_formatter_spec.rb +318 -0
  368. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/profile_formatter_spec.rb +65 -0
  369. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +155 -0
  370. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  371. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +103 -0
  372. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  373. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/story/html_formatter_spec.rb +135 -0
  374. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +600 -0
  375. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb +82 -0
  376. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +365 -0
  377. data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +370 -0
  378. data/lib/gems/rspec-1.1.11/spec/spec/runner/heckle_runner_spec.rb +78 -0
  379. data/lib/gems/rspec-1.1.11/spec/spec/runner/heckler_spec.rb +13 -0
  380. data/lib/gems/rspec-1.1.11/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
  381. data/lib/gems/rspec-1.1.11/spec/spec/runner/option_parser_spec.rb +421 -0
  382. data/lib/gems/rspec-1.1.11/spec/spec/runner/options_spec.rb +450 -0
  383. data/lib/gems/rspec-1.1.11/spec/spec/runner/output_one_time_fixture.rb +7 -0
  384. data/lib/gems/rspec-1.1.11/spec/spec/runner/output_one_time_fixture_runner.rb +8 -0
  385. data/lib/gems/rspec-1.1.11/spec/spec/runner/output_one_time_spec.rb +16 -0
  386. data/lib/gems/rspec-1.1.11/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +62 -0
  387. data/lib/gems/rspec-1.1.11/spec/spec/runner/reporter_spec.rb +238 -0
  388. data/lib/gems/rspec-1.1.11/spec/spec/runner/resources/a_bar.rb +0 -0
  389. data/lib/gems/rspec-1.1.11/spec/spec/runner/resources/a_foo.rb +0 -0
  390. data/lib/gems/rspec-1.1.11/spec/spec/runner/resources/a_spec.rb +1 -0
  391. data/lib/gems/rspec-1.1.11/spec/spec/runner/spec.opts +2 -0
  392. data/lib/gems/rspec-1.1.11/spec/spec/runner/spec_drb.opts +1 -0
  393. data/lib/gems/rspec-1.1.11/spec/spec/runner/spec_parser/spec_parser_fixture.rb +70 -0
  394. data/lib/gems/rspec-1.1.11/spec/spec/runner/spec_parser_spec.rb +85 -0
  395. data/lib/gems/rspec-1.1.11/spec/spec/runner/spec_spaced.opts +2 -0
  396. data/lib/gems/rspec-1.1.11/spec/spec/runner_spec.rb +11 -0
  397. data/lib/gems/rspec-1.1.11/spec/spec/spec_classes.rb +133 -0
  398. data/lib/gems/rspec-1.1.11/spec/spec/story/builders.rb +46 -0
  399. data/lib/gems/rspec-1.1.11/spec/spec/story/extensions/main_spec.rb +161 -0
  400. data/lib/gems/rspec-1.1.11/spec/spec/story/extensions_spec.rb +14 -0
  401. data/lib/gems/rspec-1.1.11/spec/spec/story/given_scenario_spec.rb +27 -0
  402. data/lib/gems/rspec-1.1.11/spec/spec/story/runner/plain_text_story_runner_spec.rb +90 -0
  403. data/lib/gems/rspec-1.1.11/spec/spec/story/runner/scenario_collector_spec.rb +27 -0
  404. data/lib/gems/rspec-1.1.11/spec/spec/story/runner/scenario_runner_spec.rb +214 -0
  405. data/lib/gems/rspec-1.1.11/spec/spec/story/runner/story_mediator_spec.rb +143 -0
  406. data/lib/gems/rspec-1.1.11/spec/spec/story/runner/story_parser_spec.rb +401 -0
  407. data/lib/gems/rspec-1.1.11/spec/spec/story/runner/story_runner_spec.rb +294 -0
  408. data/lib/gems/rspec-1.1.11/spec/spec/story/runner_spec.rb +93 -0
  409. data/lib/gems/rspec-1.1.11/spec/spec/story/scenario_spec.rb +18 -0
  410. data/lib/gems/rspec-1.1.11/spec/spec/story/step_group_spec.rb +157 -0
  411. data/lib/gems/rspec-1.1.11/spec/spec/story/step_mother_spec.rb +84 -0
  412. data/lib/gems/rspec-1.1.11/spec/spec/story/step_spec.rb +272 -0
  413. data/lib/gems/rspec-1.1.11/spec/spec/story/story_helper.rb +2 -0
  414. data/lib/gems/rspec-1.1.11/spec/spec/story/story_spec.rb +84 -0
  415. data/lib/gems/rspec-1.1.11/spec/spec/story/world_spec.rb +423 -0
  416. data/lib/gems/rspec-1.1.11/spec/spec_helper.rb +77 -0
  417. data/lib/gems/rspec-1.1.11/stories/all.rb +5 -0
  418. data/lib/gems/rspec-1.1.11/stories/configuration/before_blocks.story +21 -0
  419. data/lib/gems/rspec-1.1.11/stories/configuration/stories.rb +7 -0
  420. data/lib/gems/rspec-1.1.11/stories/example_groups/autogenerated_docstrings +45 -0
  421. data/lib/gems/rspec-1.1.11/stories/example_groups/example_group_with_should_methods +17 -0
  422. data/lib/gems/rspec-1.1.11/stories/example_groups/nested_groups +17 -0
  423. data/lib/gems/rspec-1.1.11/stories/example_groups/output +25 -0
  424. data/lib/gems/rspec-1.1.11/stories/example_groups/stories.rb +7 -0
  425. data/lib/gems/rspec-1.1.11/stories/helper.rb +6 -0
  426. data/lib/gems/rspec-1.1.11/stories/interop/examples_and_tests_together +30 -0
  427. data/lib/gems/rspec-1.1.11/stories/interop/stories.rb +7 -0
  428. data/lib/gems/rspec-1.1.11/stories/interop/test_case_with_should_methods +17 -0
  429. data/lib/gems/rspec-1.1.11/stories/mock_framework_integration/stories.rb +7 -0
  430. data/lib/gems/rspec-1.1.11/stories/mock_framework_integration/use_flexmock.story +9 -0
  431. data/lib/gems/rspec-1.1.11/stories/pending_stories/README +3 -0
  432. data/lib/gems/rspec-1.1.11/stories/resources/helpers/cmdline.rb +9 -0
  433. data/lib/gems/rspec-1.1.11/stories/resources/helpers/story_helper.rb +16 -0
  434. data/lib/gems/rspec-1.1.11/stories/resources/matchers/smart_match.rb +37 -0
  435. data/lib/gems/rspec-1.1.11/stories/resources/spec/before_blocks_example.rb +32 -0
  436. data/lib/gems/rspec-1.1.11/stories/resources/spec/example_group_with_should_methods.rb +12 -0
  437. data/lib/gems/rspec-1.1.11/stories/resources/spec/simple_spec.rb +8 -0
  438. data/lib/gems/rspec-1.1.11/stories/resources/spec/spec_with_flexmock.rb +18 -0
  439. data/lib/gems/rspec-1.1.11/stories/resources/steps/running_rspec.rb +50 -0
  440. data/lib/gems/rspec-1.1.11/stories/resources/stories/failing_story.rb +15 -0
  441. data/lib/gems/rspec-1.1.11/stories/resources/test/spec_and_test_together.rb +57 -0
  442. data/lib/gems/rspec-1.1.11/stories/resources/test/test_case_with_should_methods.rb +30 -0
  443. data/lib/gems/rspec-1.1.11/stories/stories/multiline_steps.story +23 -0
  444. data/lib/gems/rspec-1.1.11/stories/stories/steps/multiline_steps.rb +13 -0
  445. data/lib/gems/rspec-1.1.11/stories/stories/stories.rb +6 -0
  446. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/builder.js +136 -0
  447. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/controls.js +972 -0
  448. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/dragdrop.js +976 -0
  449. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/effects.js +1117 -0
  450. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/prototype.js +4140 -0
  451. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/rspec.js +149 -0
  452. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/scriptaculous.js +58 -0
  453. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/slider.js +276 -0
  454. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/sound.js +55 -0
  455. data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/unittest.js +568 -0
  456. data/lib/gems/rspec-1.1.11/story_server/prototype/lib/server.rb +24 -0
  457. data/lib/gems/rspec-1.1.11/story_server/prototype/stories.html +176 -0
  458. data/lib/gems/rspec-1.1.11/story_server/prototype/stylesheets/rspec.css +136 -0
  459. data/lib/gems/rspec-1.1.11/story_server/prototype/stylesheets/test.css +90 -0
  460. data/lib/mack/boot/configuration.rb +2 -0
  461. data/lib/mack/boot/console.rb +2 -0
  462. data/lib/mack/boot/gems.rb +6 -1
  463. data/lib/mack/boot/logging.rb +1 -1
  464. data/lib/mack/controller/request.rb +2 -55
  465. data/lib/mack/controller/request/date_time_parameter.rb +37 -0
  466. data/lib/mack/controller/request/parameters.rb +31 -0
  467. data/lib/mack/core_extensions/gem_kernel.rb +30 -0
  468. data/lib/mack/core_extensions/kernel.rb +31 -14
  469. data/lib/mack/routing/route_map.rb +19 -18
  470. data/lib/mack/routing/route_object.rb +14 -3
  471. data/lib/mack/routing/routes.rb +4 -0
  472. data/lib/mack/runner.rb +11 -0
  473. data/lib/mack/version.rb +1 -1
  474. data/lib/mack_app.rb +1 -26
  475. data/lib/mack_core.rb +2 -50
  476. data/lib/mack_tasks.rb +1 -32
  477. metadata +669 -90
@@ -0,0 +1,110 @@
1
+
2
+ require 'yaml'
3
+
4
+ module Logging
5
+
6
+ # The +Layout+ class provides methods for formatting log events into a
7
+ # string representation. Layouts are used by Appenders to format log
8
+ # events before writing them to the logging destination.
9
+ #
10
+ # All other Layouts inherit from this class which provides stub methods.
11
+ # Each subclass should provide a +format+ method. A layout can be used by
12
+ # more than one +Appender+ so all the methods need to be thread safe.
13
+ #
14
+ class Layout
15
+
16
+ # call-seq:
17
+ # Layout.new( :format_as => :string )
18
+ #
19
+ # Creates a new layout that will format objecs as strings using the
20
+ # given <tt>:format_as</tt> style. This can be one of <tt>:string</tt>,
21
+ # <tt>:inspect</tt>, or <tt>:yaml</tt>. These formatting commands map to
22
+ # the following object methods:
23
+ #
24
+ # * :string => to_s
25
+ # * :inspect => inspect
26
+ # * :yaml => to_yaml
27
+ #
28
+ # If the format is not specified then the global object format is used
29
+ # (see Logging#format_as). If the global object format is not specified
30
+ # then <tt>:string</tt> is used.
31
+ #
32
+ def initialize( opts = {} )
33
+ default = ::Logging.const_defined?('OBJ_FORMAT') ?
34
+ ::Logging::OBJ_FORMAT : nil
35
+
36
+ f = opts.getopt(:format_as, default)
37
+ f = f.intern if f.instance_of? String
38
+
39
+ @obj_format = case f
40
+ when :inspect, :yaml; f
41
+ else :string end
42
+
43
+ b = opts.getopt(:backtrace, ::Logging.backtrace)
44
+ @backtrace = case b
45
+ when :on, 'on', true; true
46
+ when :off, 'off', false; false
47
+ else
48
+ raise ArgumentError, "backtrace must be true or false"
49
+ end
50
+ end
51
+
52
+ # call-seq:
53
+ # format( event )
54
+ #
55
+ # Returns a string representation of the given loggging _event_. It is
56
+ # up to subclasses to implement this method.
57
+ #
58
+ def format( event ) nil end
59
+
60
+ # call-seq:
61
+ # header
62
+ #
63
+ # Returns a header string to be used at the beginning of a logging
64
+ # appender.
65
+ #
66
+ def header( ) '' end
67
+
68
+ # call-seq:
69
+ # footer
70
+ #
71
+ # Returns a footer string to be used at the end of a logging appender.
72
+ #
73
+ def footer( ) '' end
74
+
75
+
76
+ protected
77
+
78
+ # call-seq:
79
+ # format_obj( obj )
80
+ #
81
+ # Return a string representation of the given object. Depending upon
82
+ # the configuration of the logger system the format will be an +inspect+
83
+ # based represenation or a +yaml+ based representation.
84
+ #
85
+ def format_obj( obj )
86
+ case obj
87
+ when String; obj
88
+ when Exception
89
+ str = "<#{obj.class.name}> #{obj.message}"
90
+ if @backtrace && !obj.backtrace.nil?
91
+ str << "\n\t" << obj.backtrace.join("\n\t")
92
+ end
93
+ str
94
+ when nil; "<#{obj.class.name}> nil"
95
+ else
96
+ str = "<#{obj.class.name}> "
97
+ str << case @obj_format
98
+ when :inspect; obj.inspect
99
+ when :yaml; "\n#{obj.to_yaml}"
100
+ else obj.to_s end
101
+ str
102
+ end
103
+ end
104
+
105
+ end # class Layout
106
+ end # module Logging
107
+
108
+ Logging.require_all_libs_relative_to(__FILE__, 'layouts')
109
+
110
+ # EOF
@@ -0,0 +1,34 @@
1
+
2
+ module Logging
3
+ module Layouts
4
+
5
+ # The +Basic+ layout class provides methods for simple formatting of log
6
+ # events. The resulting string follows the format below.
7
+ #
8
+ # LEVEL LoggerName : log message
9
+ #
10
+ # _LEVEL_ is the log level of the event. _LoggerName_ is the name of the
11
+ # logger that generated the event. <em>log message</em> is the message
12
+ # or object that was passed to the logger. If multiple message or objects
13
+ # were passed to the logger then each will be printed on its own line with
14
+ # the format show above.
15
+ #
16
+ class Basic < ::Logging::Layout
17
+
18
+ # call-seq:
19
+ # format( event )
20
+ #
21
+ # Returns a string representation of the given loggging _event_. See the
22
+ # class documentation for details about the formatting used.
23
+ #
24
+ def format( event )
25
+ obj = format_obj(event.data)
26
+ sprintf("%*s %s : %s\n", ::Logging::MAX_LEVEL_LENGTH,
27
+ ::Logging::LNAMES[event.level], event.logger, obj)
28
+ end
29
+
30
+ end # class Basic
31
+ end # module Layouts
32
+ end # module Logging
33
+
34
+ # EOF
@@ -0,0 +1,291 @@
1
+
2
+ module Logging
3
+ module Layouts
4
+
5
+ # A flexible layout configurable with pattern string.
6
+ #
7
+ # The goal of this class is to format a LogEvent and return the results as
8
+ # a String. The results depend on the conversion pattern.
9
+ #
10
+ # The conversion pattern is closely related to the conversion pattern of
11
+ # the sprintf function. A conversion pattern is composed of literal text
12
+ # and format control expressions called conversion specifiers.
13
+ #
14
+ # You are free to insert any literal text within the conversion pattern.
15
+ #
16
+ # Each conversion specifier starts with a percent sign (%) and is followed
17
+ # by optional format modifiers and a conversion character. The conversion
18
+ # character specifies the type of data, e.g. logger, level, date, thread
19
+ # ID. The format modifiers control such things as field width, padding,
20
+ # left and right justification. The following is a simple example.
21
+ #
22
+ # Let the conversion pattern be "%-5l [%c]: %m\n" and assume that the
23
+ # logging environment was set to use a Pattern layout. Then the statements
24
+ #
25
+ # root = Logging::Logger[:root]
26
+ # root.debug("Message 1")
27
+ # root.warn("Message 2")
28
+ #
29
+ # would yield the output
30
+ #
31
+ # DEBUG [root]: Message 1
32
+ # WARN [root]: Message 2
33
+ #
34
+ # Note that there is no explicit separator between text and conversion
35
+ # specifiers. The pattern parser knows when it has reached the end of a
36
+ # conversion specifier when it reads a conversion character. In the example
37
+ # above the conversion specifier %-5l means the level of the logging event
38
+ # should be left justified to a width of five characters. The recognized
39
+ # conversion characters are
40
+ #
41
+ # [c] Used to output the name of the logger that generated the log
42
+ # event.
43
+ # [d] Used to output the date of the log event. The format of the
44
+ # date is specified using the :date_pattern option when the Layout
45
+ # is created. ISO8601 format is assumed if not date pattern is given.
46
+ # [F] Used to output the file name where the logging request was issued.
47
+ # [l] Used to output the level of the log event.
48
+ # [L] Used to output the line number where the logging request was
49
+ # issued.
50
+ # [m] Used to output the application supplied message associated with
51
+ # the log event.
52
+ # [M] Used to output the method name where the logging request was
53
+ # issued.
54
+ # [p] Used to output the process ID of the currently running program.
55
+ # [r] Used to output the number of milliseconds elapsed from the
56
+ # construction of the Layout until creation of the log event.
57
+ # [t] Used to output the object ID of the thread that generated the
58
+ # log event.
59
+ # [%] The sequence '%%' outputs a single percent sign.
60
+ #
61
+ # The directives F, L, and M will only work if the Logger generating the
62
+ # events is configured to generate tracing information. If this is not
63
+ # the case these fields will always be empty.
64
+ #
65
+ # By default the relevant information is output as is. However, with the
66
+ # aid of format modifiers it is possible to change the minimum field width,
67
+ # the maximum field width and justification.
68
+ #
69
+ # The optional format modifier is placed between the percent sign and the
70
+ # conversion character.
71
+ #
72
+ # The first optional format modifier is the left justification flag which
73
+ # is just the minus (-) character. Then comes the optional minimum field
74
+ # width modifier. This is a decimal constant that represents the minimum
75
+ # number of characters to output. If the data item requires fewer
76
+ # characters, it is padded on either the left or the right until the
77
+ # minimum width is reached. The default is to pad on the left (right
78
+ # justify) but you can specify right padding with the left justification
79
+ # flag. The padding character is space. If the data item is larger than the
80
+ # minimum field width, the field is expanded to accommodate the data. The
81
+ # value is never truncated.
82
+ #
83
+ # This behavior can be changed using the maximum field width modifier which
84
+ # is designated by a period followed by a decimal constant. If the data
85
+ # item is longer than the maximum field, then the extra characters are
86
+ # removed from the end of the data item.
87
+ #
88
+ # Below are various format modifier examples for the category conversion
89
+ # specifier.
90
+ #
91
+ # [%20c] Left pad with spaces if the logger name is less than 20
92
+ # characters long
93
+ # [%-20c] Right pad with spaces if the logger name is less than 20
94
+ # characters long
95
+ # [%.30c] Truncates the logger name if it is longer than 30 characters
96
+ # [%20.30c] Left pad with spaces if the logger name is shorter than
97
+ # 20 characters. However, if the logger name is longer than
98
+ # 30 characters, then truncate the name.
99
+ # [%-20.30c] Right pad with spaces if the logger name is shorter than
100
+ # 20 characters. However, if the logger name is longer than
101
+ # 30 characters, then truncate the name.
102
+ #
103
+ # Below are examples of some conversion patterns.
104
+ #
105
+ # %.1l, [%d] %5l -- %c: %m\n
106
+ #
107
+ # This is how the Logger class in the Ruby standard library formats
108
+ # messages. The main difference will be in the date format (the Pattern
109
+ # Layout uses the ISO8601 date format). Set the :date_method on the
110
+ # Pattern Layout to be 'to_s' and then the date formats will agree.
111
+ #
112
+ class Pattern < ::Logging::Layout
113
+
114
+ # :stopdoc:
115
+
116
+ # Arguments to sprintf keyed to directive letters
117
+ DIRECTIVE_TABLE = {
118
+ 'c' => 'event.logger',
119
+ 'd' => 'format_date',
120
+ 'F' => 'event.file',
121
+ 'l' => '::Logging::LNAMES[event.level]',
122
+ 'L' => 'event.line',
123
+ 'm' => 'format_obj(event.data)',
124
+ 'M' => 'event.method',
125
+ 'p' => 'Process.pid',
126
+ 'r' => 'Integer((Time.now-@created_at)*1000).to_s',
127
+ 't' => 'Thread.current.object_id.to_s',
128
+ '%' => :placeholder
129
+ }
130
+
131
+ # Matches the first directive encountered and the stuff around it.
132
+ #
133
+ # * $1 is the stuff before directive or "" if not applicable
134
+ # * $2 is the %#.# match within directive group
135
+ # * $3 is the directive letter
136
+ # * $4 is the stuff after the directive or "" if not applicable
137
+ DIRECTIVE_RGXP = %r/([^%]*)(?:(%-?\d*(?:\.\d+)?)([a-zA-Z%]))?(.*)/m
138
+
139
+ # default date format
140
+ ISO8601 = "%Y-%m-%d %H:%M:%S"
141
+
142
+ # call-seq:
143
+ # Pattern.create_date_format_methods( pf )
144
+ #
145
+ # This method will create the +date_format+ method in the given Pattern
146
+ # Layout _pf_ based on the configured date patten and/or date method
147
+ # specified by the user.
148
+ #
149
+ def self.create_date_format_methods( pf )
150
+ code = "undef :format_date if method_defined? :format_date\n"
151
+ code << "def format_date\n"
152
+ if pf.date_method.nil?
153
+ if pf.date_pattern =~ %r/%s/
154
+ code << <<-CODE
155
+ now = Time.now
156
+ dp = '#{pf.date_pattern}'.gsub('%s','%06d' % now.usec)
157
+ now.strftime dp
158
+ CODE
159
+ else
160
+ code << "Time.now.strftime '#{pf.date_pattern}'\n"
161
+ end
162
+ else
163
+ code << "Time.now.#{pf.date_method}\n"
164
+ end
165
+ code << "end\n"
166
+
167
+ pf._meta_eval(code, __FILE__, __LINE__)
168
+ end
169
+
170
+ # call-seq:
171
+ # Pattern.create_format_method( pf )
172
+ #
173
+ # This method will create the +format+ method in the given Pattern
174
+ # Layout _pf_ based on the configured format pattern specified by the
175
+ # user.
176
+ #
177
+ def self.create_format_method( pf )
178
+ # Create the format(event) method
179
+ code = "undef :format if method_defined? :format\n"
180
+ code << "def format( event )\nsprintf(\""
181
+ pattern = pf.pattern.dup
182
+ args = []
183
+
184
+ while true
185
+ m = DIRECTIVE_RGXP.match(pattern)
186
+ code << m[1] unless m[1].empty?
187
+
188
+ case m[3]
189
+ when '%'; code << '%%'
190
+ when *DIRECTIVE_TABLE.keys
191
+ code << m[2] + 's'
192
+ args << DIRECTIVE_TABLE[m[3]]
193
+ when nil; break
194
+ else
195
+ raise ArgumentError, "illegal format character - '#{m[3]}'"
196
+ end
197
+
198
+ break if m[4].empty?
199
+ pattern = m[4]
200
+ end
201
+
202
+ code << '"'
203
+ code << ', ' + args.join(', ') unless args.empty?
204
+ code << ")\n"
205
+ code << "end\n"
206
+
207
+ pf._meta_eval(code, __FILE__, __LINE__)
208
+ end
209
+ # :startdoc:
210
+
211
+ # call-seq:
212
+ # Pattern.new( opts )
213
+ #
214
+ # Creates a new Pattern layout using the following options.
215
+ #
216
+ # :pattern => "[%d] %-5l -- %c : %m\n"
217
+ # :date_pattern => "%Y-%m-%d %H:%M:%S"
218
+ # :date_method => 'usec' or 'to_s'
219
+ #
220
+ # If used, :date_method will supersede :date_pattern.
221
+ #
222
+ def initialize( opts = {} )
223
+ super
224
+ @created_at = Time.now
225
+
226
+ @date_pattern = opts.getopt(:date_pattern)
227
+ @date_method = opts.getopt(:date_method)
228
+ @date_pattern = ISO8601 if @date_pattern.nil? and @date_method.nil?
229
+
230
+ @pattern = opts.getopt(:pattern,
231
+ "[%d] %-#{::Logging::MAX_LEVEL_LENGTH}l -- %c : %m\n")
232
+
233
+ Pattern.create_date_format_methods(self)
234
+ Pattern.create_format_method(self)
235
+ end
236
+
237
+ attr_reader :pattern, :date_pattern, :date_method
238
+
239
+ # call-seq:
240
+ # appender.pattern = "[%d] %-5l -- %c : %m\n"
241
+ #
242
+ # Set the message formatting pattern to be used by the layout.
243
+ #
244
+ def pattern=( var )
245
+ @pattern = var
246
+ Pattern.create_format_method(self)
247
+ end
248
+
249
+ # call-seq:
250
+ # appender.date_pattern = "%Y-%m-%d %H:%M:%S"
251
+ #
252
+ # Set the date formatting pattern to be used when outputting timestamps
253
+ # in the log messages.
254
+ #
255
+ def date_pattern=( var )
256
+ @date_pattern = var
257
+ Pattern.create_date_format_methods(self)
258
+ end
259
+
260
+ # call-seq:
261
+ # appender.date_method = 'to_s'
262
+ # appender.date_method = :usec
263
+ #
264
+ # Set the date method to be used when outputting timestamps in the log
265
+ # messages. If a date method is configured, the output of that method
266
+ # will be used in leu of the date pattern.
267
+ #
268
+ def date_method=( var )
269
+ @date_method = var
270
+ Pattern.create_date_format_methods(self)
271
+ end
272
+
273
+ # :stopdoc:
274
+
275
+ # call-seq:
276
+ # _meta_eval( code )
277
+ #
278
+ # Evaluates the given string of _code_ if the singleton class of this
279
+ # Pattern Layout object.
280
+ #
281
+ def _meta_eval( code, file = nil, line = nil )
282
+ meta = class << self; self end
283
+ meta.class_eval code, file, line
284
+ end
285
+ # :startdoc:
286
+
287
+ end # class Pattern
288
+ end # module Layouts
289
+ end # module Logging
290
+
291
+ # EOF
@@ -0,0 +1,49 @@
1
+
2
+ module Logging
3
+
4
+ # This class defines a logging event.
5
+ #
6
+ class LogEvent
7
+
8
+ # :stopdoc:
9
+
10
+ # Regular expression used to parse out caller information
11
+ #
12
+ # * $1 == filename
13
+ # * $2 == line number
14
+ # * $3 == method name (might be nil)
15
+ CALLER_RGXP = %r/([\.\/\(\)\w]+):(\d+)(?::in `(\w+)')?/o
16
+ # :startdoc:
17
+
18
+ # call-seq:
19
+ # LogEvent.new( logger, level, [data], trace )
20
+ #
21
+ # Creates a new log event with the given _logger_ name, numeric _level_,
22
+ # array of _data_ from the user to be logged, and boolean _trace_ flag.
23
+ # If the _trace_ flag is set to +true+ then Kernel::caller will be
24
+ # invoked to get the execution trace of the logging method.
25
+ #
26
+ def initialize( logger, level, data, trace )
27
+ @logger = logger
28
+ @level = level
29
+ @data = data
30
+ @file = @line = @method = ''
31
+
32
+ if trace
33
+ t = Kernel.caller[2]
34
+ return if t.nil?
35
+
36
+ m = CALLER_RGXP.match(t)
37
+ @file = m[1]
38
+ @line = m[2]
39
+ @method = m[3] unless m[3].nil?
40
+ end
41
+ end
42
+
43
+ attr_accessor :logger, :level, :data
44
+ attr_reader :file, :line, :method
45
+
46
+ end # class LogEvent
47
+ end # module Logging
48
+
49
+ # EOF