messagebus_ruby_api 0.4.0 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
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