messagebus_ruby_api 0.4.0 → 0.4.4

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 (820) hide show
  1. data/README.rdoc +40 -50
  2. data/lib/messagebus_ruby_api/client.rb +76 -54
  3. data/lib/messagebus_ruby_api/version.rb +1 -1
  4. data/spec/messagebus_ruby_api/client_spec.rb +66 -19
  5. data/spec/ruby/1.9.1/bin/autospec +19 -0
  6. data/spec/ruby/1.9.1/bin/htmldiff +19 -0
  7. data/spec/ruby/1.9.1/bin/ldiff +19 -0
  8. data/spec/ruby/1.9.1/bin/rspec +19 -0
  9. data/spec/ruby/1.9.1/cache/activesupport-3.0.9.gem +0 -0
  10. data/spec/ruby/1.9.1/cache/diff-lcs-1.1.2.gem +0 -0
  11. data/spec/ruby/1.9.1/cache/fakeweb-1.3.0.gem +0 -0
  12. data/spec/ruby/1.9.1/cache/rr-1.0.2.gem +0 -0
  13. data/spec/ruby/1.9.1/cache/rspec-2.5.0.gem +0 -0
  14. data/spec/ruby/1.9.1/cache/rspec-core-2.5.1.gem +0 -0
  15. data/spec/ruby/1.9.1/cache/rspec-expectations-2.5.0.gem +0 -0
  16. data/spec/ruby/1.9.1/cache/rspec-mocks-2.5.0.gem +0 -0
  17. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/CHANGELOG +1496 -0
  18. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/README.rdoc +33 -0
  19. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/all.rb +3 -0
  20. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/backtrace_cleaner.rb +94 -0
  21. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/base64.rb +42 -0
  22. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/basic_object.rb +21 -0
  23. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/benchmarkable.rb +60 -0
  24. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/buffered_logger.rb +139 -0
  25. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/builder.rb +6 -0
  26. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/cache/compressed_mem_cache_store.rb +13 -0
  27. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/cache/file_store.rb +188 -0
  28. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/cache/mem_cache_store.rb +190 -0
  29. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/cache/memory_store.rb +159 -0
  30. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/cache/strategy/local_cache.rb +164 -0
  31. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/cache/synchronized_memory_store.rb +11 -0
  32. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/cache.rb +638 -0
  33. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/callbacks.rb +601 -0
  34. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/concern.rb +64 -0
  35. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/configurable.rb +48 -0
  36. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/array/access.rb +46 -0
  37. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/array/conversions.rb +164 -0
  38. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/array/extract_options.rb +29 -0
  39. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/array/grouping.rb +100 -0
  40. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/array/random_access.rb +27 -0
  41. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/array/uniq_by.rb +17 -0
  42. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/array/wrap.rb +48 -0
  43. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/array.rb +7 -0
  44. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/benchmark.rb +7 -0
  45. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/big_decimal/conversions.rb +44 -0
  46. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/big_decimal.rb +1 -0
  47. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +19 -0
  48. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/cgi.rb +1 -0
  49. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/class/attribute.rb +90 -0
  50. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/class/attribute_accessors.rb +79 -0
  51. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/class/delegating_attributes.rb +44 -0
  52. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/class/inheritable_attributes.rb +254 -0
  53. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/class/subclasses.rb +50 -0
  54. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/class.rb +5 -0
  55. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/date/acts_like.rb +8 -0
  56. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/date/calculations.rb +241 -0
  57. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/date/conversions.rb +99 -0
  58. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/date/freeze.rb +31 -0
  59. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/date/zones.rb +14 -0
  60. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/date_time/acts_like.rb +13 -0
  61. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/date_time/calculations.rb +115 -0
  62. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/date_time/conversions.rb +103 -0
  63. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/date_time/zones.rb +21 -0
  64. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/enumerable.rb +120 -0
  65. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/exception.rb +3 -0
  66. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/file/atomic.rb +41 -0
  67. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/file/path.rb +5 -0
  68. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/file.rb +2 -0
  69. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/float/rounding.rb +19 -0
  70. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/float.rb +1 -0
  71. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/hash/conversions.rb +151 -0
  72. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/hash/deep_merge.rb +16 -0
  73. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/hash/diff.rb +13 -0
  74. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/hash/except.rb +23 -0
  75. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/hash/indifferent_access.rb +12 -0
  76. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/hash/keys.rb +45 -0
  77. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/hash/reverse_merge.rb +28 -0
  78. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/hash/slice.rb +38 -0
  79. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/hash.rb +8 -0
  80. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/integer/inflections.rb +14 -0
  81. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/integer/multiple.rb +6 -0
  82. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/integer/time.rb +39 -0
  83. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/integer.rb +3 -0
  84. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/kernel/agnostics.rb +11 -0
  85. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/kernel/debugger.rb +16 -0
  86. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/kernel/reporting.rb +62 -0
  87. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/kernel/requires.rb +26 -0
  88. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/kernel/singleton_class.rb +13 -0
  89. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/kernel.rb +5 -0
  90. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/load_error.rb +23 -0
  91. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/logger.rb +108 -0
  92. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/aliasing.rb +70 -0
  93. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/anonymous.rb +24 -0
  94. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/attr_accessor_with_default.rb +31 -0
  95. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/attr_internal.rb +32 -0
  96. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/attribute_accessors.rb +60 -0
  97. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/delegation.rb +146 -0
  98. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/deprecation.rb +11 -0
  99. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/introspection.rb +88 -0
  100. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/method_names.rb +14 -0
  101. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/reachable.rb +10 -0
  102. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/remove_method.rb +11 -0
  103. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module/synchronization.rb +43 -0
  104. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/module.rb +12 -0
  105. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/name_error.rb +18 -0
  106. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/numeric/bytes.rb +44 -0
  107. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/numeric/time.rb +77 -0
  108. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/numeric.rb +2 -0
  109. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/acts_like.rb +10 -0
  110. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/blank.rb +76 -0
  111. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/conversions.rb +4 -0
  112. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/duplicable.rb +65 -0
  113. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/instance_variables.rb +67 -0
  114. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/returning.rb +43 -0
  115. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/to_json.rb +19 -0
  116. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/to_param.rb +50 -0
  117. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/to_query.rb +27 -0
  118. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/try.rb +36 -0
  119. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object/with_options.rb +26 -0
  120. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/object.rb +13 -0
  121. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/proc.rb +14 -0
  122. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/process/daemon.rb +23 -0
  123. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/process.rb +1 -0
  124. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/range/blockless_step.rb +29 -0
  125. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/range/conversions.rb +21 -0
  126. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/range/include_range.rb +21 -0
  127. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/range/overlaps.rb +8 -0
  128. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/range.rb +4 -0
  129. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/regexp.rb +5 -0
  130. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/rexml.rb +46 -0
  131. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/access.rb +99 -0
  132. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/behavior.rb +7 -0
  133. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/conversions.rb +53 -0
  134. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/encoding.rb +11 -0
  135. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/exclude.rb +6 -0
  136. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/filters.rb +49 -0
  137. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/inflections.rb +164 -0
  138. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/interpolation.rb +2 -0
  139. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/multibyte.rb +72 -0
  140. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/output_safety.rb +135 -0
  141. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/starts_ends_with.rb +4 -0
  142. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/strip.rb +26 -0
  143. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string/xchar.rb +18 -0
  144. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/string.rb +13 -0
  145. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/time/acts_like.rb +8 -0
  146. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/time/calculations.rb +287 -0
  147. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/time/conversions.rb +85 -0
  148. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/time/marshal.rb +56 -0
  149. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/time/publicize_conversion_methods.rb +10 -0
  150. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/time/zones.rb +75 -0
  151. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/uri.rb +22 -0
  152. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext.rb +3 -0
  153. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/dependencies/autoload.rb +50 -0
  154. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/dependencies.rb +668 -0
  155. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/deprecation/behaviors.rb +42 -0
  156. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/deprecation/method_wrappers.rb +29 -0
  157. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/deprecation/proxy_wrappers.rb +81 -0
  158. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/deprecation/reporting.rb +61 -0
  159. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/deprecation.rb +18 -0
  160. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/descendants_tracker.rb +43 -0
  161. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/duration.rb +105 -0
  162. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/file_update_checker.rb +36 -0
  163. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/gzip.rb +29 -0
  164. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/hash_with_indifferent_access.rb +152 -0
  165. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/i18n.rb +10 -0
  166. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/i18n_railtie.rb +96 -0
  167. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflections.rb +60 -0
  168. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflector/inflections.rb +211 -0
  169. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflector/methods.rb +151 -0
  170. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflector/transliterate.rb +98 -0
  171. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflector.rb +7 -0
  172. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/json/backends/jsongem.rb +47 -0
  173. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/json/backends/yajl.rb +44 -0
  174. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/json/backends/yaml.rb +107 -0
  175. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/json/decoding.rb +51 -0
  176. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/json/encoding.rb +279 -0
  177. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/json/variable.rb +9 -0
  178. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/json.rb +2 -0
  179. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/lazy_load_hooks.rb +46 -0
  180. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/locale/en.yml +36 -0
  181. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/log_subscriber/test_helper.rb +99 -0
  182. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/log_subscriber.rb +122 -0
  183. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/memoizable.rb +105 -0
  184. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/message_encryptor.rb +71 -0
  185. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/message_verifier.rb +62 -0
  186. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/multibyte/chars.rb +476 -0
  187. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/multibyte/exceptions.rb +8 -0
  188. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/multibyte/unicode.rb +392 -0
  189. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/multibyte/utils.rb +60 -0
  190. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/multibyte.rb +44 -0
  191. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/notifications/fanout.rb +61 -0
  192. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/notifications/instrumenter.rb +54 -0
  193. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/notifications.rb +78 -0
  194. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/option_merger.rb +25 -0
  195. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/ordered_hash.rb +192 -0
  196. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/ordered_options.rb +27 -0
  197. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/railtie.rb +60 -0
  198. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/rescuable.rb +114 -0
  199. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/ruby/shim.rb +22 -0
  200. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/secure_random.rb +199 -0
  201. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/string_inquirer.rb +21 -0
  202. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/test_case.rb +42 -0
  203. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/testing/assertions.rb +84 -0
  204. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/testing/declarative.rb +40 -0
  205. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/testing/default.rb +9 -0
  206. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/testing/deprecation.rb +55 -0
  207. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/testing/isolation.rb +157 -0
  208. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/testing/pending.rb +48 -0
  209. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/testing/performance.rb +425 -0
  210. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/testing/setup_and_teardown.rb +111 -0
  211. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/time/autoload.rb +5 -0
  212. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/time.rb +35 -0
  213. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/time_with_zone.rb +348 -0
  214. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/values/time_zone.rb +379 -0
  215. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/values/unicode_tables.dat +0 -0
  216. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/version.rb +10 -0
  217. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/whiny_nil.rb +60 -0
  218. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/xml_mini/jdom.rb +175 -0
  219. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/xml_mini/libxml.rb +79 -0
  220. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/xml_mini/libxmlsax.rb +85 -0
  221. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/xml_mini/nokogiri.rb +83 -0
  222. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/xml_mini/nokogirisax.rb +87 -0
  223. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/xml_mini/rexml.rb +129 -0
  224. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/xml_mini.rb +162 -0
  225. data/spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support.rb +80 -0
  226. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/ChangeLog +46 -0
  227. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/Install +6 -0
  228. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/README +76 -0
  229. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/Rakefile +116 -0
  230. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/bin/htmldiff +112 -0
  231. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/bin/ldiff +45 -0
  232. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/lib/diff/lcs/array.rb +21 -0
  233. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/lib/diff/lcs/block.rb +51 -0
  234. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/lib/diff/lcs/callbacks.rb +322 -0
  235. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/lib/diff/lcs/change.rb +169 -0
  236. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/lib/diff/lcs/hunk.rb +257 -0
  237. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/lib/diff/lcs/ldiff.rb +226 -0
  238. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/lib/diff/lcs/string.rb +19 -0
  239. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/lib/diff/lcs.rb +1105 -0
  240. data/spec/ruby/1.9.1/gems/diff-lcs-1.1.2/tests/00test.rb +626 -0
  241. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/CHANGELOG +215 -0
  242. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/LICENSE.txt +19 -0
  243. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/README.rdoc +189 -0
  244. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/Rakefile +67 -0
  245. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/fakeweb.gemspec +126 -0
  246. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/lib/fake_web/ext/net_http.rb +72 -0
  247. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/lib/fake_web/registry.rb +127 -0
  248. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/lib/fake_web/responder.rb +122 -0
  249. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/lib/fake_web/response.rb +10 -0
  250. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/lib/fake_web/stub_socket.rb +15 -0
  251. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/lib/fake_web/utility.rb +87 -0
  252. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/lib/fake_web.rb +215 -0
  253. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/lib/fakeweb.rb +2 -0
  254. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/fixtures/google_response_from_curl +12 -0
  255. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/fixtures/google_response_with_transfer_encoding +17 -0
  256. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/fixtures/google_response_without_transfer_encoding +11 -0
  257. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/fixtures/test_example.txt +1 -0
  258. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/fixtures/test_txt_file +3 -0
  259. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_allow_net_connect.rb +168 -0
  260. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_deprecations.rb +54 -0
  261. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_fake_authentication.rb +92 -0
  262. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_fake_web.rb +590 -0
  263. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_fake_web_open_uri.rb +58 -0
  264. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_helper.rb +90 -0
  265. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_last_request.rb +29 -0
  266. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_missing_open_uri.rb +25 -0
  267. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_missing_pathname.rb +37 -0
  268. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_other_net_http_libraries.rb +36 -0
  269. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_precedence.rb +79 -0
  270. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_query_string.rb +45 -0
  271. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_regexes.rb +157 -0
  272. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_response_headers.rb +79 -0
  273. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_trailing_slashes.rb +53 -0
  274. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_utility.rb +83 -0
  275. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/right_http_connection-1.2.4/History.txt +59 -0
  276. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/right_http_connection-1.2.4/Manifest.txt +7 -0
  277. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/right_http_connection-1.2.4/README.txt +54 -0
  278. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/right_http_connection-1.2.4/Rakefile +103 -0
  279. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/right_http_connection-1.2.4/lib/net_fix.rb +160 -0
  280. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/right_http_connection-1.2.4/lib/right_http_connection.rb +435 -0
  281. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/right_http_connection-1.2.4/setup.rb +1585 -0
  282. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/LICENSE +20 -0
  283. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/README.rdoc +70 -0
  284. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/Rakefile +62 -0
  285. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/VERSION +1 -0
  286. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/lib/samuel/net_http.rb +10 -0
  287. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/lib/samuel/request.rb +96 -0
  288. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/lib/samuel.rb +52 -0
  289. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/samuel.gemspec +69 -0
  290. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/test/request_test.rb +193 -0
  291. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/test/samuel_test.rb +42 -0
  292. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/test/test_helper.rb +66 -0
  293. data/spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/vendor/samuel-0.2.1/test/thread_test.rb +32 -0
  294. data/spec/ruby/1.9.1/gems/rr-1.0.2/CHANGES +260 -0
  295. data/spec/ruby/1.9.1/gems/rr-1.0.2/Gemfile +6 -0
  296. data/spec/ruby/1.9.1/gems/rr-1.0.2/LICENSE +22 -0
  297. data/spec/ruby/1.9.1/gems/rr-1.0.2/README.rdoc +385 -0
  298. data/spec/ruby/1.9.1/gems/rr-1.0.2/Rakefile +88 -0
  299. data/spec/ruby/1.9.1/gems/rr-1.0.2/VERSION.yml +5 -0
  300. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/adapters/rr_methods.rb +146 -0
  301. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/adapters/rspec.rb +61 -0
  302. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/adapters/test_unit.rb +31 -0
  303. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/blank_slate.rb +17 -0
  304. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/class_instance_method_defined.rb +9 -0
  305. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double.rb +154 -0
  306. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/child_double_definition_create.rb +27 -0
  307. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/double_definition.rb +367 -0
  308. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/double_definition_create.rb +139 -0
  309. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/double_definition_create_blank_slate.rb +26 -0
  310. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/double_injections/any_instance_of.rb +28 -0
  311. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/double_injections/instance.rb +16 -0
  312. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb +30 -0
  313. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/double_injection/double_injection_strategy.rb +10 -0
  314. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/double_injection/instance.rb +17 -0
  315. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/implementation/implementation_strategy.rb +10 -0
  316. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/implementation/proxy.rb +60 -0
  317. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/implementation/reimplementation.rb +14 -0
  318. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/implementation/strongly_typed_reimplementation.rb +15 -0
  319. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb +43 -0
  320. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy_methods.rb +53 -0
  321. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/verification/dont_allow.rb +31 -0
  322. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/verification/mock.rb +42 -0
  323. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/verification/stub.rb +43 -0
  324. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/verification/verification_strategy.rb +10 -0
  325. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_matches.rb +42 -0
  326. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/argument_equality_error.rb +6 -0
  327. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/double_definition_error.rb +6 -0
  328. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/double_not_found_error.rb +6 -0
  329. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/double_order_error.rb +6 -0
  330. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/rr_error.rb +20 -0
  331. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/spy_verification_errors/double_injection_not_found_error.rb +8 -0
  332. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/spy_verification_errors/invocation_count_error.rb +8 -0
  333. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/spy_verification_errors/spy_verification_error.rb +8 -0
  334. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/subject_does_not_implement_method_error.rb +6 -0
  335. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/subject_has_different_arity_error.rb +6 -0
  336. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/errors/times_called_error.rb +6 -0
  337. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/expectations/any_argument_expectation.rb +21 -0
  338. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/expectations/argument_equality_expectation.rb +41 -0
  339. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/expectations/times_called_expectation.rb +57 -0
  340. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/hash_with_object_id_key.rb +46 -0
  341. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/injections/double_injection.rb +213 -0
  342. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/injections/injection.rb +33 -0
  343. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/injections/method_missing_injection.rb +68 -0
  344. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/injections/singleton_method_added_injection.rb +72 -0
  345. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/method_dispatches/base_method_dispatch.rb +84 -0
  346. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/method_dispatches/method_dispatch.rb +59 -0
  347. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/method_dispatches/method_missing_dispatch.rb +61 -0
  348. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/proc_from_block.rb +7 -0
  349. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/recorded_calls.rb +103 -0
  350. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/space.rb +112 -0
  351. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/spy_verification.rb +48 -0
  352. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/spy_verification_proxy.rb +13 -0
  353. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/any_times_matcher.rb +18 -0
  354. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/at_least_matcher.rb +15 -0
  355. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/at_most_matcher.rb +23 -0
  356. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/integer_matcher.rb +19 -0
  357. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/never_matcher.rb +23 -0
  358. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/non_terminal.rb +27 -0
  359. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/proc_matcher.rb +11 -0
  360. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/range_matcher.rb +21 -0
  361. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/terminal.rb +20 -0
  362. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/times_called_matchers/times_called_matcher.rb +44 -0
  363. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers/anything.rb +18 -0
  364. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers/boolean.rb +23 -0
  365. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers/duck_type.rb +32 -0
  366. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers/hash_including.rb +29 -0
  367. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers/is_a.rb +25 -0
  368. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers/numeric.rb +13 -0
  369. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers/range.rb +7 -0
  370. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers/regexp.rb +7 -0
  371. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers/satisfy.rb +26 -0
  372. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/wildcard_matchers.rb +158 -0
  373. data/spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr.rb +99 -0
  374. data/spec/ruby/1.9.1/gems/rr-1.0.2/scratch.rb +118 -0
  375. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/api/any_instance_of/all_instances_of_spec.rb +12 -0
  376. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/api/any_instance_of/any_instance_of_spec.rb +47 -0
  377. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/api/any_instance_of/instance_of_spec.rb +12 -0
  378. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/api/dont_allow/dont_allow_after_stub_spec.rb +14 -0
  379. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/api/mock/mock_spec.rb +193 -0
  380. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/api/proxy/proxy_spec.rb +86 -0
  381. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/api/spy/spy_spec.rb +49 -0
  382. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/api/strong/strong_spec.rb +87 -0
  383. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/api/stub/stub_spec.rb +152 -0
  384. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/core_spec_suite.rb +19 -0
  385. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/environment_fixture_setup.rb +8 -0
  386. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/proc_from_block_spec.rb +14 -0
  387. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/adapters/rr_methods_argument_matcher_spec.rb +67 -0
  388. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/adapters/rr_methods_creator_spec.rb +137 -0
  389. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/adapters/rr_methods_space_spec.rb +98 -0
  390. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/adapters/rr_methods_spec_helper.rb +11 -0
  391. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/adapters/rr_methods_times_matcher_spec.rb +13 -0
  392. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/double_definitions/child_double_definition_creator_spec.rb +112 -0
  393. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/double_definitions/double_definition_create_blank_slate_spec.rb +91 -0
  394. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/double_definitions/double_definition_create_spec.rb +443 -0
  395. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/double_injection/double_injection_spec.rb +546 -0
  396. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/double_injection/double_injection_verify_spec.rb +29 -0
  397. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/errors/rr_error_spec.rb +67 -0
  398. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/any_argument_expectation_spec.rb +47 -0
  399. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/anything_argument_equality_expectation_spec.rb +14 -0
  400. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/argument_equality_expectation_spec.rb +135 -0
  401. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/boolean_argument_equality_expectation_spec.rb +34 -0
  402. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/hash_including_argument_equality_expectation_spec.rb +82 -0
  403. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/hash_including_spec.rb +17 -0
  404. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/satisfy_argument_equality_expectation_spec.rb +59 -0
  405. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/satisfy_spec.rb +14 -0
  406. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/times_called_expectation/times_called_expectation_any_times_spec.rb +22 -0
  407. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/times_called_expectation/times_called_expectation_at_least_spec.rb +37 -0
  408. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/times_called_expectation/times_called_expectation_at_most_spec.rb +43 -0
  409. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/times_called_expectation/times_called_expectation_helper.rb +15 -0
  410. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/times_called_expectation/times_called_expectation_integer_spec.rb +58 -0
  411. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/times_called_expectation/times_called_expectation_proc_spec.rb +35 -0
  412. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/expectations/times_called_expectation/times_called_expectation_range_spec.rb +39 -0
  413. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/rspec/invocation_matcher_spec.rb +279 -0
  414. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/rspec/rspec_adapter_spec.rb +63 -0
  415. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/rspec/rspec_backtrace_tweaking_spec.rb +31 -0
  416. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/rspec/rspec_backtrace_tweaking_spec_fixture.rb +11 -0
  417. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/rspec/rspec_usage_spec.rb +86 -0
  418. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/space/hash_with_object_id_key_spec.rb +88 -0
  419. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/space/space_spec.rb +587 -0
  420. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/test_unit/test_helper.rb +7 -0
  421. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/test_unit/test_unit_backtrace_test.rb +36 -0
  422. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/test_unit/test_unit_integration_test.rb +59 -0
  423. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/times_called_matchers/any_times_matcher_spec.rb +47 -0
  424. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/times_called_matchers/at_least_matcher_spec.rb +55 -0
  425. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/times_called_matchers/at_most_matcher_spec.rb +70 -0
  426. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/times_called_matchers/integer_matcher_spec.rb +70 -0
  427. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/times_called_matchers/proc_matcher_spec.rb +55 -0
  428. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/times_called_matchers/range_matcher_spec.rb +76 -0
  429. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/times_called_matchers/times_called_matcher_spec.rb +118 -0
  430. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/wildcard_matchers/anything_spec.rb +24 -0
  431. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/wildcard_matchers/boolean_spec.rb +36 -0
  432. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/wildcard_matchers/duck_type_spec.rb +52 -0
  433. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/wildcard_matchers/is_a_spec.rb +32 -0
  434. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/wildcard_matchers/numeric_spec.rb +32 -0
  435. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/wildcard_matchers/range_spec.rb +35 -0
  436. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr/wildcard_matchers/regexp_spec.rb +43 -0
  437. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rr_spec.rb +28 -0
  438. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/rspec_spec_suite.rb +17 -0
  439. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/spec_helper.rb +37 -0
  440. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/spec_suite.rb +48 -0
  441. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/spy_verification_spec.rb +129 -0
  442. data/spec/ruby/1.9.1/gems/rr-1.0.2/spec/test_unit_spec_suite.rb +21 -0
  443. data/spec/ruby/1.9.1/gems/rspec-2.5.0/Gemfile +7 -0
  444. data/spec/ruby/1.9.1/gems/rspec-2.5.0/License.txt +22 -0
  445. data/spec/ruby/1.9.1/gems/rspec-2.5.0/README.markdown +47 -0
  446. data/spec/ruby/1.9.1/gems/rspec-2.5.0/Rakefile +16 -0
  447. data/spec/ruby/1.9.1/gems/rspec-2.5.0/lib/rspec/version.rb +5 -0
  448. data/spec/ruby/1.9.1/gems/rspec-2.5.0/lib/rspec.rb +4 -0
  449. data/spec/ruby/1.9.1/gems/rspec-2.5.0/rspec.gemspec +29 -0
  450. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/Gemfile +52 -0
  451. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/Guardfile +5 -0
  452. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/License.txt +23 -0
  453. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/README.md +103 -0
  454. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/Rakefile +72 -0
  455. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/bin/autospec +13 -0
  456. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/bin/rspec +25 -0
  457. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/cucumber.yml +2 -0
  458. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/Autotest.md +14 -0
  459. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/Changelog.md +226 -0
  460. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/README.md +17 -0
  461. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/Upgrade.md +287 -0
  462. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/command_line/README.md +6 -0
  463. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/command_line/configure.feature +22 -0
  464. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/command_line/example_name_option.feature +86 -0
  465. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/command_line/exit_status.feature +52 -0
  466. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/command_line/format_option.feature +73 -0
  467. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/command_line/line_number_appended_to_path.feature +106 -0
  468. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/command_line/line_number_option.feature +45 -0
  469. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/command_line/rake_task.feature +68 -0
  470. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/command_line/tag.feature +74 -0
  471. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/configuration/custom_settings.feature +84 -0
  472. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/configuration/fail_fast.feature +77 -0
  473. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/configuration/read_options_from_file.feature +87 -0
  474. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/example_groups/basic_structure.feature +59 -0
  475. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/example_groups/shared_example_group.feature +177 -0
  476. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/expectation_framework_integration/configure_expectation_framework.feature +62 -0
  477. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/filtering/exclusion_filters.feature +115 -0
  478. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/filtering/implicit_filters.feature +166 -0
  479. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/filtering/inclusion_filters.feature +83 -0
  480. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/filtering/run_all_when_everything_filtered.feature +46 -0
  481. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/formatters/custom_formatter.feature +36 -0
  482. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/helper_methods/arbitrary_methods.feature +40 -0
  483. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/helper_methods/let.feature +50 -0
  484. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/hooks/around_hooks.feature +336 -0
  485. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/hooks/before_and_after_hooks.feature +427 -0
  486. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/hooks/filtering.feature +191 -0
  487. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/metadata/described_class.feature +17 -0
  488. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/mock_framework_integration/use_any_framework.feature +106 -0
  489. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/mock_framework_integration/use_flexmock.feature +23 -0
  490. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/mock_framework_integration/use_mocha.feature +23 -0
  491. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/mock_framework_integration/use_rr.feature +23 -0
  492. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/mock_framework_integration/use_rspec.feature +23 -0
  493. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/pending/pending_examples.feature +216 -0
  494. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/spec_files/arbitrary_file_suffix.feature +13 -0
  495. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/step_definitions/additional_cli_steps.rb +20 -0
  496. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/subject/attribute_of_subject.feature +102 -0
  497. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/subject/explicit_subject.feature +78 -0
  498. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/subject/implicit_receiver.feature +29 -0
  499. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/subject/implicit_subject.feature +30 -0
  500. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/features/support/env.rb +1 -0
  501. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/autotest/discover.rb +1 -0
  502. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/autotest/rspec2.rb +67 -0
  503. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/autorun.rb +2 -0
  504. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/backward_compatibility.rb +48 -0
  505. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb +35 -0
  506. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/command_line_configuration.rb +62 -0
  507. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb +470 -0
  508. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration_options.rb +126 -0
  509. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/deprecation.rb +45 -0
  510. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/drb_command_line.rb +29 -0
  511. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/errors.rb +14 -0
  512. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/example.rb +167 -0
  513. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb +300 -0
  514. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/expecting/with_rspec.rb +11 -0
  515. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/expecting/with_stdlib.rb +9 -0
  516. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/extensions/instance_eval_with_args.rb +39 -0
  517. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/extensions/kernel.rb +5 -0
  518. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/extensions/module_eval_with_args.rb +34 -0
  519. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/extensions/object.rb +14 -0
  520. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/extensions.rb +4 -0
  521. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/formatters/base_formatter.rb +162 -0
  522. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/formatters/base_text_formatter.rb +165 -0
  523. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/formatters/documentation_formatter.rb +71 -0
  524. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/formatters/helpers.rb +28 -0
  525. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/formatters/html_formatter.rb +456 -0
  526. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/formatters/progress_formatter.rb +32 -0
  527. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/formatters/snippet_extractor.rb +52 -0
  528. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/formatters/text_mate_formatter.rb +20 -0
  529. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/hooks.rb +149 -0
  530. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/let.rb +101 -0
  531. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/load_path.rb +3 -0
  532. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/metadata.rb +187 -0
  533. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/mocking/with_absolutely_nothing.rb +11 -0
  534. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/mocking/with_flexmock.rb +25 -0
  535. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/mocking/with_mocha.rb +21 -0
  536. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/mocking/with_rr.rb +25 -0
  537. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/mocking/with_rspec.rb +21 -0
  538. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/option_parser.rb +132 -0
  539. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/pending.rb +30 -0
  540. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/rake_task.rb +196 -0
  541. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/reporter.rb +79 -0
  542. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/ruby_project.rb +44 -0
  543. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb +61 -0
  544. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/shared_context.rb +16 -0
  545. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/shared_example_group.rb +53 -0
  546. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/subject.rb +177 -0
  547. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/version.rb +7 -0
  548. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/world.rb +102 -0
  549. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core.rb +65 -0
  550. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/monkey/spork/test_framework/rspec.rb +7 -0
  551. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/monkey.rb +1 -0
  552. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/rspec-core.gemspec +26 -0
  553. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/script/FullBuildRakeFile +63 -0
  554. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/script/console +8 -0
  555. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/script/cucumber +1 -0
  556. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/script/full_build +1 -0
  557. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/script/spec +1 -0
  558. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/autotest/discover_spec.rb +19 -0
  559. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/autotest/failed_results_re_spec.rb +37 -0
  560. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/autotest/rspec_spec.rb +123 -0
  561. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/command_line_configuration_spec.rb +26 -0
  562. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/command_line_spec.rb +134 -0
  563. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/command_line_spec_output.txt +0 -0
  564. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/configuration_options_spec.rb +341 -0
  565. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/configuration_spec.rb +716 -0
  566. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/deprecations_spec.rb +45 -0
  567. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/drb_command_line_spec.rb +159 -0
  568. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/example_group_spec.rb +753 -0
  569. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/example_spec.rb +162 -0
  570. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/base_formatter_spec.rb +59 -0
  571. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/base_text_formatter_spec.rb +184 -0
  572. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/documentation_formatter_spec.rb +66 -0
  573. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/helpers_spec.rb +46 -0
  574. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/html_formatted-1.8.6.html +398 -0
  575. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +400 -0
  576. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/html_formatted-1.8.7.html +398 -0
  577. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/html_formatted-1.9.1.html +405 -0
  578. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/html_formatted-1.9.2.html +405 -0
  579. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/html_formatter_spec.rb +81 -0
  580. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/progress_formatter_spec.rb +31 -0
  581. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/snippet_extractor_spec.rb +18 -0
  582. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/text_mate_formatted-1.8.6.html +398 -0
  583. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +400 -0
  584. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +398 -0
  585. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/text_mate_formatted-1.9.1.html +405 -0
  586. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +405 -0
  587. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/formatters/text_mate_formatter_spec.rb +84 -0
  588. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/hooks_filtering_spec.rb +227 -0
  589. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/hooks_spec.rb +57 -0
  590. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/kernel_extensions_spec.rb +9 -0
  591. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/let_spec.rb +42 -0
  592. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/metadata_spec.rb +298 -0
  593. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/option_parser_spec.rb +75 -0
  594. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/pending_example_spec.rb +226 -0
  595. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/rake_task_spec.rb +161 -0
  596. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/reporter_spec.rb +70 -0
  597. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/resources/a_bar.rb +0 -0
  598. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/resources/a_foo.rb +0 -0
  599. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/resources/a_spec.rb +1 -0
  600. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/resources/custom_example_group_runner.rb +14 -0
  601. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/resources/formatter_specs.rb +54 -0
  602. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/resources/utf8_encoded.rb +8 -0
  603. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/ruby_project_spec.rb +24 -0
  604. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/runner_spec.rb +47 -0
  605. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/shared_context_spec.rb +30 -0
  606. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/shared_example_group_spec.rb +152 -0
  607. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/subject_spec.rb +178 -0
  608. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core/world_spec.rb +174 -0
  609. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/rspec/core_spec.rb +31 -0
  610. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/ruby_forker.rb +13 -0
  611. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/spec_helper.rb +71 -0
  612. data/spec/ruby/1.9.1/gems/rspec-core-2.5.1/spec/support/matchers.rb +44 -0
  613. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/Gemfile +38 -0
  614. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/Guardfile +5 -0
  615. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/License.txt +22 -0
  616. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/README.md +41 -0
  617. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/Rakefile +70 -0
  618. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/cucumber.yml +3 -0
  619. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/Changelog.md +84 -0
  620. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/README.markdown +42 -0
  621. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/Upgrade.md +53 -0
  622. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/be.feature +135 -0
  623. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/be_within.feature +43 -0
  624. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/equality.feature +142 -0
  625. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/exist.feature +49 -0
  626. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/expect_change.feature +59 -0
  627. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/expect_error.feature +105 -0
  628. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/have.feature +103 -0
  629. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/include.feature +121 -0
  630. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/match.feature +50 -0
  631. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/operators.feature +221 -0
  632. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/predicates.feature +128 -0
  633. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/respond_to.feature +78 -0
  634. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/satisfy.feature +31 -0
  635. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/throw_symbol.feature +85 -0
  636. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/built_in_matchers/types.feature +114 -0
  637. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/custom_matchers/access_running_example.feature +53 -0
  638. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/custom_matchers/define_diffable_matcher.feature +27 -0
  639. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/custom_matchers/define_matcher.feature +311 -0
  640. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/custom_matchers/define_matcher_outside_rspec.feature +38 -0
  641. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/custom_matchers/define_matcher_with_fluent_interface.feature +24 -0
  642. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/customized_message.feature +22 -0
  643. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/diffing.feature +85 -0
  644. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/implicit_docstrings.feature +52 -0
  645. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/step_definitions/additional_cli_steps.rb +22 -0
  646. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/support/env.rb +1 -0
  647. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/features/test_frameworks/test_unit.feature +46 -0
  648. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/backward_compatibility.rb +16 -0
  649. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/deprecation.rb +36 -0
  650. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/differ.rb +62 -0
  651. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/errors.rb +12 -0
  652. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/extensions/array.rb +7 -0
  653. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/extensions/kernel.rb +52 -0
  654. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/extensions.rb +2 -0
  655. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/fail_with.rb +51 -0
  656. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/handler.rb +50 -0
  657. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations/version.rb +7 -0
  658. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/expectations.rb +39 -0
  659. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/be.rb +222 -0
  660. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/be_close.rb +17 -0
  661. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/be_instance_of.rb +26 -0
  662. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/be_kind_of.rb +26 -0
  663. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/be_within.rb +40 -0
  664. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/block_aliases.rb +19 -0
  665. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/change.rb +190 -0
  666. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/compatibility.rb +14 -0
  667. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/dsl.rb +21 -0
  668. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/eq.rb +50 -0
  669. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/eql.rb +45 -0
  670. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/equal.rb +53 -0
  671. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/errors.rb +5 -0
  672. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/exist.rb +26 -0
  673. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/extensions/instance_exec.rb +31 -0
  674. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/generated_descriptions.rb +36 -0
  675. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/has.rb +35 -0
  676. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/have.rb +151 -0
  677. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/include.rb +54 -0
  678. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/match.rb +21 -0
  679. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/match_array.rb +71 -0
  680. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/matcher.rb +161 -0
  681. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/method_missing.rb +12 -0
  682. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/operator_matcher.rb +87 -0
  683. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/pretty.rb +37 -0
  684. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/raise_error.rb +130 -0
  685. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/respond_to.rb +85 -0
  686. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/satisfy.rb +51 -0
  687. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers/throw_symbol.rb +121 -0
  688. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec/matchers.rb +196 -0
  689. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/lib/rspec-expectations.rb +1 -0
  690. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/rspec-expectations.gemspec +27 -0
  691. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/expectations/differ_spec.rb +96 -0
  692. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/expectations/extensions/kernel_spec.rb +45 -0
  693. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/expectations/fail_with_spec.rb +70 -0
  694. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/expectations/handler_spec.rb +206 -0
  695. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/be_close_spec.rb +22 -0
  696. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/be_instance_of_spec.rb +36 -0
  697. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/be_kind_of_spec.rb +33 -0
  698. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/be_spec.rb +456 -0
  699. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/be_within_spec.rb +64 -0
  700. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/change_spec.rb +409 -0
  701. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/compatibility_spec.rb +28 -0
  702. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/description_generation_spec.rb +160 -0
  703. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/dsl_spec.rb +25 -0
  704. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/eq_spec.rb +38 -0
  705. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/eql_spec.rb +37 -0
  706. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/equal_spec.rb +57 -0
  707. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/exist_spec.rb +104 -0
  708. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/has_spec.rb +81 -0
  709. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/have_spec.rb +401 -0
  710. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/include_spec.rb +341 -0
  711. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/match_array_spec.rb +111 -0
  712. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/match_spec.rb +57 -0
  713. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/matcher_spec.rb +374 -0
  714. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/matchers_spec.rb +51 -0
  715. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/operator_matcher_spec.rb +215 -0
  716. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/raise_error_spec.rb +339 -0
  717. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/respond_to_spec.rb +292 -0
  718. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/satisfy_spec.rb +40 -0
  719. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/rspec/matchers/throw_symbol_spec.rb +113 -0
  720. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/spec_helper.rb +24 -0
  721. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/suite.rb +1 -0
  722. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/support/classes.rb +45 -0
  723. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/support/matchers.rb +22 -0
  724. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/spec/support/ruby_version.rb +10 -0
  725. data/spec/ruby/1.9.1/gems/rspec-expectations-2.5.0/specs.watchr +57 -0
  726. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/Gemfile +39 -0
  727. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/Guardfile +8 -0
  728. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/License.txt +22 -0
  729. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/README.md +57 -0
  730. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/Rakefile +75 -0
  731. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/autotest/discover.rb +1 -0
  732. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/cucumber.yml +2 -0
  733. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/Changelog.md +68 -0
  734. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/README.markdown +27 -0
  735. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/Upgrade.md +14 -0
  736. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/message_expectations/README.md +58 -0
  737. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/message_expectations/block_local_expectations.feature.pending +55 -0
  738. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/message_expectations/expect_message.feature +94 -0
  739. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/message_expectations/warn_when_expectation_is_set_on_nil.feature +50 -0
  740. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/method_stubs/README.md +39 -0
  741. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/method_stubs/simple_return_value.feature +55 -0
  742. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/method_stubs/stub_chain.feature +44 -0
  743. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/method_stubs/stub_implementation.feature +26 -0
  744. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/outside_rspec/configuration.feature +82 -0
  745. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/outside_rspec/standalone.feature +32 -0
  746. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/features/support/env.rb +2 -0
  747. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/argument_expectation.rb +53 -0
  748. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/argument_matchers.rb +233 -0
  749. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/error_generator.rb +97 -0
  750. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/errors.rb +10 -0
  751. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/extensions/instance_exec.rb +31 -0
  752. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/extensions/marshal.rb +27 -0
  753. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/framework.rb +17 -0
  754. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/message_expectation.rb +351 -0
  755. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/method_double.rb +165 -0
  756. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/methods.rb +100 -0
  757. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/mock.rb +79 -0
  758. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/order_group.rb +29 -0
  759. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/proxy.rb +158 -0
  760. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/serialization.rb +26 -0
  761. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/space.rb +28 -0
  762. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/spec_methods.rb +53 -0
  763. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/standalone.rb +3 -0
  764. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks/version.rb +7 -0
  765. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/rspec/mocks.rb +196 -0
  766. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/lib/spec/mocks.rb +2 -0
  767. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/rspec-mocks.gemspec +25 -0
  768. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/and_yield_spec.rb +114 -0
  769. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/any_number_of_times_spec.rb +36 -0
  770. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/argument_expectation_spec.rb +25 -0
  771. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/at_least_spec.rb +97 -0
  772. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/at_most_spec.rb +93 -0
  773. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/block_return_value_spec.rb +45 -0
  774. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_10260_spec.rb +8 -0
  775. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_10263_spec.rb +27 -0
  776. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_11545_spec.rb +32 -0
  777. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_496_spec.rb +17 -0
  778. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_600_spec.rb +22 -0
  779. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_7611_spec.rb +18 -0
  780. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_7805_spec.rb +22 -0
  781. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_8165_spec.rb +31 -0
  782. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_8302_spec.rb +26 -0
  783. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_830_spec.rb +21 -0
  784. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/bug_report_957_spec.rb +22 -0
  785. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/double_spec.rb +12 -0
  786. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/failing_argument_matchers_spec.rb +96 -0
  787. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/hash_including_matcher_spec.rb +90 -0
  788. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/hash_not_including_matcher_spec.rb +67 -0
  789. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/mock_ordering_spec.rb +94 -0
  790. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/mock_space_spec.rb +54 -0
  791. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/mock_spec.rb +696 -0
  792. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/multiple_return_value_spec.rb +191 -0
  793. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/nil_expectation_warning_spec.rb +63 -0
  794. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/null_object_mock_spec.rb +78 -0
  795. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/once_counts_spec.rb +53 -0
  796. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/options_hash_spec.rb +35 -0
  797. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/partial_mock_spec.rb +155 -0
  798. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/partial_mock_using_mocks_directly_spec.rb +94 -0
  799. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/passing_argument_matchers_spec.rb +145 -0
  800. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/precise_counts_spec.rb +52 -0
  801. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/record_messages_spec.rb +26 -0
  802. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/serialization_spec.rb +88 -0
  803. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/stash_spec.rb +27 -0
  804. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/stub_chain_spec.rb +114 -0
  805. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/stub_implementation_spec.rb +68 -0
  806. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/stub_spec.rb +232 -0
  807. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/stubbed_message_expectations_spec.rb +26 -0
  808. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks/twice_counts_spec.rb +67 -0
  809. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/rspec/mocks_spec.rb +51 -0
  810. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/spec/spec_helper.rb +52 -0
  811. data/spec/ruby/1.9.1/gems/rspec-mocks-2.5.0/specs.watchr +57 -0
  812. data/spec/ruby/1.9.1/specifications/activesupport-3.0.9.gemspec +27 -0
  813. data/spec/ruby/1.9.1/specifications/diff-lcs-1.1.2.gemspec +32 -0
  814. data/spec/ruby/1.9.1/specifications/fakeweb-1.3.0.gemspec +32 -0
  815. data/spec/ruby/1.9.1/specifications/rr-1.0.2.gemspec +29 -0
  816. data/spec/ruby/1.9.1/specifications/rspec-2.5.0.gemspec +38 -0
  817. data/spec/ruby/1.9.1/specifications/rspec-core-2.5.1.gemspec +30 -0
  818. data/spec/ruby/1.9.1/specifications/rspec-expectations-2.5.0.gemspec +32 -0
  819. data/spec/ruby/1.9.1/specifications/rspec-mocks-2.5.0.gemspec +29 -0
  820. metadata +1633 -5
@@ -0,0 +1,638 @@
1
+ require 'benchmark'
2
+ require 'zlib'
3
+ require 'active_support/core_ext/array/extract_options'
4
+ require 'active_support/core_ext/array/wrap'
5
+ require 'active_support/core_ext/benchmark'
6
+ require 'active_support/core_ext/exception'
7
+ require 'active_support/core_ext/class/attribute_accessors'
8
+ require 'active_support/core_ext/numeric/bytes'
9
+ require 'active_support/core_ext/numeric/time'
10
+ require 'active_support/core_ext/object/to_param'
11
+ require 'active_support/core_ext/string/inflections'
12
+
13
+ module ActiveSupport
14
+ # See ActiveSupport::Cache::Store for documentation.
15
+ module Cache
16
+ autoload :FileStore, 'active_support/cache/file_store'
17
+ autoload :MemoryStore, 'active_support/cache/memory_store'
18
+ autoload :MemCacheStore, 'active_support/cache/mem_cache_store'
19
+ autoload :SynchronizedMemoryStore, 'active_support/cache/synchronized_memory_store'
20
+ autoload :CompressedMemCacheStore, 'active_support/cache/compressed_mem_cache_store'
21
+
22
+ # These options mean something to all cache implementations. Individual cache
23
+ # implementations may support additional options.
24
+ UNIVERSAL_OPTIONS = [:namespace, :compress, :compress_threshold, :expires_in, :race_condition_ttl]
25
+
26
+ module Strategy
27
+ autoload :LocalCache, 'active_support/cache/strategy/local_cache'
28
+ end
29
+
30
+ # Creates a new CacheStore object according to the given options.
31
+ #
32
+ # If no arguments are passed to this method, then a new
33
+ # ActiveSupport::Cache::MemoryStore object will be returned.
34
+ #
35
+ # If you pass a Symbol as the first argument, then a corresponding cache
36
+ # store class under the ActiveSupport::Cache namespace will be created.
37
+ # For example:
38
+ #
39
+ # ActiveSupport::Cache.lookup_store(:memory_store)
40
+ # # => returns a new ActiveSupport::Cache::MemoryStore object
41
+ #
42
+ # ActiveSupport::Cache.lookup_store(:mem_cache_store)
43
+ # # => returns a new ActiveSupport::Cache::MemCacheStore object
44
+ #
45
+ # Any additional arguments will be passed to the corresponding cache store
46
+ # class's constructor:
47
+ #
48
+ # ActiveSupport::Cache.lookup_store(:file_store, "/tmp/cache")
49
+ # # => same as: ActiveSupport::Cache::FileStore.new("/tmp/cache")
50
+ #
51
+ # If the first argument is not a Symbol, then it will simply be returned:
52
+ #
53
+ # ActiveSupport::Cache.lookup_store(MyOwnCacheStore.new)
54
+ # # => returns MyOwnCacheStore.new
55
+ def self.lookup_store(*store_option)
56
+ store, *parameters = *Array.wrap(store_option).flatten
57
+
58
+ case store
59
+ when Symbol
60
+ store_class_name = store.to_s.camelize
61
+ store_class =
62
+ begin
63
+ require "active_support/cache/#{store}"
64
+ rescue LoadError => e
65
+ raise "Could not find cache store adapter for #{store} (#{e})"
66
+ else
67
+ ActiveSupport::Cache.const_get(store_class_name)
68
+ end
69
+ store_class.new(*parameters)
70
+ when nil
71
+ ActiveSupport::Cache::MemoryStore.new
72
+ else
73
+ store
74
+ end
75
+ end
76
+
77
+ def self.expand_cache_key(key, namespace = nil)
78
+ expanded_cache_key = namespace ? "#{namespace}/" : ""
79
+
80
+ prefix = ENV["RAILS_CACHE_ID"] || ENV["RAILS_APP_VERSION"]
81
+ if prefix
82
+ expanded_cache_key << "#{prefix}/"
83
+ end
84
+
85
+ expanded_cache_key <<
86
+ if key.respond_to?(:cache_key)
87
+ key.cache_key
88
+ elsif key.is_a?(Array)
89
+ if key.size > 1
90
+ key.collect { |element| expand_cache_key(element) }.to_param
91
+ else
92
+ key.first.to_param
93
+ end
94
+ elsif key
95
+ key.to_param
96
+ end.to_s
97
+
98
+ expanded_cache_key
99
+ end
100
+
101
+ # An abstract cache store class. There are multiple cache store
102
+ # implementations, each having its own additional features. See the classes
103
+ # under the ActiveSupport::Cache module, e.g.
104
+ # ActiveSupport::Cache::MemCacheStore. MemCacheStore is currently the most
105
+ # popular cache store for large production websites.
106
+ #
107
+ # Some implementations may not support all methods beyond the basic cache
108
+ # methods of +fetch+, +write+, +read+, +exist?+, and +delete+.
109
+ #
110
+ # ActiveSupport::Cache::Store can store any serializable Ruby object.
111
+ #
112
+ # cache = ActiveSupport::Cache::MemoryStore.new
113
+ #
114
+ # cache.read("city") # => nil
115
+ # cache.write("city", "Duckburgh")
116
+ # cache.read("city") # => "Duckburgh"
117
+ #
118
+ # Keys are always translated into Strings and are case sensitive. When an
119
+ # object is specified as a key, its +cache_key+ method will be called if it
120
+ # is defined. Otherwise, the +to_param+ method will be called. Hashes and
121
+ # Arrays can be used as keys. The elements will be delimited by slashes
122
+ # and Hashes elements will be sorted by key so they are consistent.
123
+ #
124
+ # cache.read("city") == cache.read(:city) # => true
125
+ #
126
+ # Nil values can be cached.
127
+ #
128
+ # If your cache is on a shared infrastructure, you can define a namespace for
129
+ # your cache entries. If a namespace is defined, it will be prefixed on to every
130
+ # key. The namespace can be either a static value or a Proc. If it is a Proc, it
131
+ # will be invoked when each key is evaluated so that you can use application logic
132
+ # to invalidate keys.
133
+ #
134
+ # cache.namespace = lambda { @last_mod_time } # Set the namespace to a variable
135
+ # @last_mod_time = Time.now # Invalidate the entire cache by changing namespace
136
+ #
137
+ #
138
+ # Caches can also store values in a compressed format to save space and reduce
139
+ # time spent sending data. Since there is some overhead, values must be large
140
+ # enough to warrant compression. To turn on compression either pass
141
+ # <tt>:compress => true</tt> in the initializer or to +fetch+ or +write+.
142
+ # To specify the threshold at which to compress values, set
143
+ # <tt>:compress_threshold</tt>. The default threshold is 32K.
144
+ class Store
145
+
146
+ cattr_accessor :logger, :instance_writer => true
147
+
148
+ attr_reader :silence, :options
149
+ alias :silence? :silence
150
+
151
+ # Create a new cache. The options will be passed to any write method calls except
152
+ # for :namespace which can be used to set the global namespace for the cache.
153
+ def initialize (options = nil)
154
+ @options = options ? options.dup : {}
155
+ end
156
+
157
+ # Silence the logger.
158
+ def silence!
159
+ @silence = true
160
+ self
161
+ end
162
+
163
+ # Silence the logger within a block.
164
+ def mute
165
+ previous_silence, @silence = defined?(@silence) && @silence, true
166
+ yield
167
+ ensure
168
+ @silence = previous_silence
169
+ end
170
+
171
+ # Set to true if cache stores should be instrumented. Default is false.
172
+ def self.instrument=(boolean)
173
+ Thread.current[:instrument_cache_store] = boolean
174
+ end
175
+
176
+ def self.instrument
177
+ Thread.current[:instrument_cache_store] || false
178
+ end
179
+
180
+ # Fetches data from the cache, using the given key. If there is data in
181
+ # the cache with the given key, then that data is returned.
182
+ #
183
+ # If there is no such data in the cache (a cache miss occurred),
184
+ # then nil will be returned. However, if a block has been passed, then
185
+ # that block will be run in the event of a cache miss. The return value
186
+ # of the block will be written to the cache under the given cache key,
187
+ # and that return value will be returned.
188
+ #
189
+ # cache.write("today", "Monday")
190
+ # cache.fetch("today") # => "Monday"
191
+ #
192
+ # cache.fetch("city") # => nil
193
+ # cache.fetch("city") do
194
+ # "Duckburgh"
195
+ # end
196
+ # cache.fetch("city") # => "Duckburgh"
197
+ #
198
+ # You may also specify additional options via the +options+ argument.
199
+ # Setting <tt>:force => true</tt> will force a cache miss:
200
+ #
201
+ # cache.write("today", "Monday")
202
+ # cache.fetch("today", :force => true) # => nil
203
+ #
204
+ # Setting <tt>:compress</tt> will store a large cache entry set by the call
205
+ # in a compressed format.
206
+ #
207
+ #
208
+ # Setting <tt>:expires_in</tt> will set an expiration time on the cache. All caches
209
+ # support auto expiring content after a specified number of seconds. This value can
210
+ # be specified as an option to the construction in which call all entries will be
211
+ # affected. Or it can be supplied to the +fetch+ or +write+ method for just one entry.
212
+ #
213
+ # cache = ActiveSupport::Cache::MemoryStore.new(:expires_in => 5.minutes)
214
+ # cache.write(key, value, :expires_in => 1.minute) # Set a lower value for one entry
215
+ #
216
+ # Setting <tt>:race_condition_ttl</tt> is very useful in situations where a cache entry
217
+ # is used very frequently and is under heavy load. If a cache expires and due to heavy load
218
+ # seven different processes will try to read data natively and then they all will try to
219
+ # write to cache. To avoid that case the first process to find an expired cache entry will
220
+ # bump the cache expiration time by the value set in <tt>:race_condition_ttl</tt>. Yes
221
+ # this process is extending the time for a stale value by another few seconds. Because
222
+ # of extended life of the previous cache, other processes will continue to use slightly
223
+ # stale data for a just a big longer. In the meantime that first process will go ahead
224
+ # and will write into cache the new value. After that all the processes will start
225
+ # getting new value. The key is to keep <tt>:race_condition_ttl</tt> small.
226
+ #
227
+ # If the process regenerating the entry errors out, the entry will be regenerated
228
+ # after the specified number of seconds. Also note that the life of stale cache is
229
+ # extended only if it expired recently. Otherwise a new value is generated and
230
+ # <tt>:race_condition_ttl</tt> does not play any role.
231
+ #
232
+ # # Set all values to expire after one minute.
233
+ # cache = ActiveSupport::Cache::MemoryCache.new(:expires_in => 1.minute)
234
+ #
235
+ # cache.write("foo", "original value")
236
+ # val_1 = nil
237
+ # val_2 = nil
238
+ # sleep 60
239
+ #
240
+ # Thread.new do
241
+ # val_1 = cache.fetch("foo", :race_condition_ttl => 10) do
242
+ # sleep 1
243
+ # "new value 1"
244
+ # end
245
+ # end
246
+ #
247
+ # Thread.new do
248
+ # val_2 = cache.fetch("foo", :race_condition_ttl => 10) do
249
+ # "new value 2"
250
+ # end
251
+ # end
252
+ #
253
+ # # val_1 => "new value 1"
254
+ # # val_2 => "original value"
255
+ # # sleep 10 # First thread extend the life of cache by another 10 seconds
256
+ # # cache.fetch("foo") => "new value 1"
257
+ #
258
+ # Other options will be handled by the specific cache store implementation.
259
+ # Internally, #fetch calls #read_entry, and calls #write_entry on a cache miss.
260
+ # +options+ will be passed to the #read and #write calls.
261
+ #
262
+ # For example, MemCacheStore's #write method supports the +:raw+
263
+ # option, which tells the memcached server to store all values as strings.
264
+ # We can use this option with #fetch too:
265
+ #
266
+ # cache = ActiveSupport::Cache::MemCacheStore.new
267
+ # cache.fetch("foo", :force => true, :raw => true) do
268
+ # :bar
269
+ # end
270
+ # cache.fetch("foo") # => "bar"
271
+ def fetch(name, options = nil)
272
+ if block_given?
273
+ options = merged_options(options)
274
+ key = namespaced_key(name, options)
275
+ unless options[:force]
276
+ entry = instrument(:read, name, options) do |payload|
277
+ payload[:super_operation] = :fetch if payload
278
+ read_entry(key, options)
279
+ end
280
+ end
281
+ if entry && entry.expired?
282
+ race_ttl = options[:race_condition_ttl].to_f
283
+ if race_ttl and Time.now.to_f - entry.expires_at <= race_ttl
284
+ entry.expires_at = Time.now + race_ttl
285
+ write_entry(key, entry, :expires_in => race_ttl * 2)
286
+ else
287
+ delete_entry(key, options)
288
+ end
289
+ entry = nil
290
+ end
291
+
292
+ if entry
293
+ instrument(:fetch_hit, name, options) { |payload| }
294
+ entry.value
295
+ else
296
+ result = instrument(:generate, name, options) do |payload|
297
+ yield
298
+ end
299
+ write(name, result, options)
300
+ result
301
+ end
302
+ else
303
+ read(name, options)
304
+ end
305
+ end
306
+
307
+ # Fetches data from the cache, using the given key. If there is data in
308
+ # the cache with the given key, then that data is returned. Otherwise,
309
+ # nil is returned.
310
+ #
311
+ # Options are passed to the underlying cache implementation.
312
+ def read(name, options = nil)
313
+ options = merged_options(options)
314
+ key = namespaced_key(name, options)
315
+ instrument(:read, name, options) do |payload|
316
+ entry = read_entry(key, options)
317
+ if entry
318
+ if entry.expired?
319
+ delete_entry(key, options)
320
+ payload[:hit] = false if payload
321
+ nil
322
+ else
323
+ payload[:hit] = true if payload
324
+ entry.value
325
+ end
326
+ else
327
+ payload[:hit] = false if payload
328
+ nil
329
+ end
330
+ end
331
+ end
332
+
333
+ # Read multiple values at once from the cache. Options can be passed
334
+ # in the last argument.
335
+ #
336
+ # Some cache implementation may optimize this method.
337
+ #
338
+ # Returns a hash mapping the names provided to the values found.
339
+ def read_multi(*names)
340
+ options = names.extract_options!
341
+ options = merged_options(options)
342
+ results = {}
343
+ names.each do |name|
344
+ key = namespaced_key(name, options)
345
+ entry = read_entry(key, options)
346
+ if entry
347
+ if entry.expired?
348
+ delete_entry(key)
349
+ else
350
+ results[name] = entry.value
351
+ end
352
+ end
353
+ end
354
+ results
355
+ end
356
+
357
+ # Writes the value to the cache, with the key.
358
+ #
359
+ # Options are passed to the underlying cache implementation.
360
+ def write(name, value, options = nil)
361
+ options = merged_options(options)
362
+ instrument(:write, name, options) do |payload|
363
+ entry = Entry.new(value, options)
364
+ write_entry(namespaced_key(name, options), entry, options)
365
+ end
366
+ end
367
+
368
+ # Deletes an entry in the cache. Returns +true+ if an entry is deleted.
369
+ #
370
+ # Options are passed to the underlying cache implementation.
371
+ def delete(name, options = nil)
372
+ options = merged_options(options)
373
+ instrument(:delete, name) do |payload|
374
+ delete_entry(namespaced_key(name, options), options)
375
+ end
376
+ end
377
+
378
+ # Return true if the cache contains an entry for the given key.
379
+ #
380
+ # Options are passed to the underlying cache implementation.
381
+ def exist?(name, options = nil)
382
+ options = merged_options(options)
383
+ instrument(:exist?, name) do |payload|
384
+ entry = read_entry(namespaced_key(name, options), options)
385
+ if entry && !entry.expired?
386
+ true
387
+ else
388
+ false
389
+ end
390
+ end
391
+ end
392
+
393
+ # Delete all entries with keys matching the pattern.
394
+ #
395
+ # Options are passed to the underlying cache implementation.
396
+ #
397
+ # All implementations may not support this method.
398
+ def delete_matched(matcher, options = nil)
399
+ raise NotImplementedError.new("#{self.class.name} does not support delete_matched")
400
+ end
401
+
402
+ # Increment an integer value in the cache.
403
+ #
404
+ # Options are passed to the underlying cache implementation.
405
+ #
406
+ # All implementations may not support this method.
407
+ def increment(name, amount = 1, options = nil)
408
+ raise NotImplementedError.new("#{self.class.name} does not support increment")
409
+ end
410
+
411
+ # Increment an integer value in the cache.
412
+ #
413
+ # Options are passed to the underlying cache implementation.
414
+ #
415
+ # All implementations may not support this method.
416
+ def decrement(name, amount = 1, options = nil)
417
+ raise NotImplementedError.new("#{self.class.name} does not support decrement")
418
+ end
419
+
420
+ # Cleanup the cache by removing expired entries.
421
+ #
422
+ # Options are passed to the underlying cache implementation.
423
+ #
424
+ # All implementations may not support this method.
425
+ def cleanup(options = nil)
426
+ raise NotImplementedError.new("#{self.class.name} does not support cleanup")
427
+ end
428
+
429
+ # Clear the entire cache. Be careful with this method since it could
430
+ # affect other processes if shared cache is being used.
431
+ #
432
+ # Options are passed to the underlying cache implementation.
433
+ #
434
+ # All implementations may not support this method.
435
+ def clear(options = nil)
436
+ raise NotImplementedError.new("#{self.class.name} does not support clear")
437
+ end
438
+
439
+ protected
440
+ # Add the namespace defined in the options to a pattern designed to match keys.
441
+ # Implementations that support delete_matched should call this method to translate
442
+ # a pattern that matches names into one that matches namespaced keys.
443
+ def key_matcher(pattern, options)
444
+ prefix = options[:namespace].is_a?(Proc) ? options[:namespace].call : options[:namespace]
445
+ if prefix
446
+ source = pattern.source
447
+ if source.start_with?('^')
448
+ source = source[1, source.length]
449
+ else
450
+ source = ".*#{source[0, source.length]}"
451
+ end
452
+ Regexp.new("^#{Regexp.escape(prefix)}:#{source}", pattern.options)
453
+ else
454
+ pattern
455
+ end
456
+ end
457
+
458
+ # Read an entry from the cache implementation. Subclasses must implement this method.
459
+ def read_entry(key, options) # :nodoc:
460
+ raise NotImplementedError.new
461
+ end
462
+
463
+ # Write an entry to the cache implementation. Subclasses must implement this method.
464
+ def write_entry(key, entry, options) # :nodoc:
465
+ raise NotImplementedError.new
466
+ end
467
+
468
+ # Delete an entry from the cache implementation. Subclasses must implement this method.
469
+ def delete_entry(key, options) # :nodoc:
470
+ raise NotImplementedError.new
471
+ end
472
+
473
+ private
474
+ # Merge the default options with ones specific to a method call.
475
+ def merged_options(call_options) # :nodoc:
476
+ if call_options
477
+ options.merge(call_options)
478
+ else
479
+ options.dup
480
+ end
481
+ end
482
+
483
+ # Expand key to be a consistent string value. Invoke +cache_key+ if
484
+ # object responds to +cache_key+. Otherwise, to_param method will be
485
+ # called. If the key is a Hash, then keys will be sorted alphabetically.
486
+ def expanded_key(key) # :nodoc:
487
+ if key.respond_to?(:cache_key)
488
+ key = key.cache_key.to_s
489
+ elsif key.is_a?(Array)
490
+ if key.size > 1
491
+ key.collect{|element| expanded_key(element)}.to_param
492
+ else
493
+ key.first.to_param
494
+ end
495
+ elsif key.is_a?(Hash)
496
+ key = key.to_a.sort{|a,b| a.first.to_s <=> b.first.to_s}.collect{|k,v| "#{k}=#{v}"}.to_param
497
+ else
498
+ key = key.to_param
499
+ end
500
+ end
501
+
502
+ # Prefix a key with the namespace. Namespace and key will be delimited with a colon.
503
+ def namespaced_key(key, options)
504
+ key = expanded_key(key)
505
+ namespace = options[:namespace] if options
506
+ prefix = namespace.is_a?(Proc) ? namespace.call : namespace
507
+ key = "#{prefix}:#{key}" if prefix
508
+ key
509
+ end
510
+
511
+ def instrument(operation, key, options = nil)
512
+ log(operation, key, options)
513
+
514
+ if self.class.instrument
515
+ payload = { :key => key }
516
+ payload.merge!(options) if options.is_a?(Hash)
517
+ ActiveSupport::Notifications.instrument("cache_#{operation}.active_support", payload){ yield(payload) }
518
+ else
519
+ yield(nil)
520
+ end
521
+ end
522
+
523
+ def log(operation, key, options = nil)
524
+ return unless logger && logger.debug? && !silence?
525
+ logger.debug("Cache #{operation}: #{key}#{options.blank? ? "" : " (#{options.inspect})"}")
526
+ end
527
+ end
528
+
529
+ # Entry that is put into caches. It supports expiration time on entries and can compress values
530
+ # to save space in the cache.
531
+ class Entry
532
+ attr_reader :created_at, :expires_in
533
+
534
+ DEFAULT_COMPRESS_LIMIT = 16.kilobytes
535
+
536
+ class << self
537
+ # Create an entry with internal attributes set. This method is intended to be
538
+ # used by implementations that store cache entries in a native format instead
539
+ # of as serialized Ruby objects.
540
+ def create (raw_value, created_at, options = {})
541
+ entry = new(nil)
542
+ entry.instance_variable_set(:@value, raw_value)
543
+ entry.instance_variable_set(:@created_at, created_at.to_f)
544
+ entry.instance_variable_set(:@compressed, !!options[:compressed])
545
+ entry.instance_variable_set(:@expires_in, options[:expires_in])
546
+ entry
547
+ end
548
+ end
549
+
550
+ # Create a new cache entry for the specified value. Options supported are
551
+ # +:compress+, +:compress_threshold+, and +:expires_in+.
552
+ def initialize(value, options = {})
553
+ @compressed = false
554
+ @expires_in = options[:expires_in]
555
+ @expires_in = @expires_in.to_f if @expires_in
556
+ @created_at = Time.now.to_f
557
+ if value
558
+ if should_compress?(value, options)
559
+ @value = Zlib::Deflate.deflate(Marshal.dump(value))
560
+ @compressed = true
561
+ else
562
+ @value = value
563
+ end
564
+ else
565
+ @value = nil
566
+ end
567
+ end
568
+
569
+ # Get the raw value. This value may be serialized and compressed.
570
+ def raw_value
571
+ @value
572
+ end
573
+
574
+ # Get the value stored in the cache.
575
+ def value
576
+ if @value
577
+ val = compressed? ? Marshal.load(Zlib::Inflate.inflate(@value)) : @value
578
+ unless val.frozen?
579
+ val.freeze rescue nil
580
+ end
581
+ val
582
+ end
583
+ end
584
+
585
+ def compressed?
586
+ @compressed
587
+ end
588
+
589
+ # Check if the entry is expired. The +expires_in+ parameter can override the
590
+ # value set when the entry was created.
591
+ def expired?
592
+ if @expires_in && @created_at + @expires_in <= Time.now.to_f
593
+ true
594
+ else
595
+ false
596
+ end
597
+ end
598
+
599
+ # Set a new time when the entry will expire.
600
+ def expires_at=(time)
601
+ if time
602
+ @expires_in = time.to_f - @created_at
603
+ else
604
+ @expires_in = nil
605
+ end
606
+ end
607
+
608
+ # Seconds since the epoch when the entry will expire.
609
+ def expires_at
610
+ @expires_in ? @created_at + @expires_in : nil
611
+ end
612
+
613
+ # Returns the size of the cached value. This could be less than value.size
614
+ # if the data is compressed.
615
+ def size
616
+ if @value.nil?
617
+ 0
618
+ elsif @value.respond_to?(:bytesize)
619
+ @value.bytesize
620
+ else
621
+ Marshal.dump(@value).bytesize
622
+ end
623
+ end
624
+
625
+ private
626
+ def should_compress?(value, options)
627
+ if options[:compress] && value
628
+ unless value.is_a?(Numeric)
629
+ compress_threshold = options[:compress_threshold] || DEFAULT_COMPRESS_LIMIT
630
+ serialized_value = value.is_a?(String) ? value : Marshal.dump(value)
631
+ return true if serialized_value.size >= compress_threshold
632
+ end
633
+ end
634
+ false
635
+ end
636
+ end
637
+ end
638
+ end