lazy_record 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1351) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +5 -0
  5. data/.ruby-gemset +1 -0
  6. data/.ruby-version +1 -0
  7. data/Gemfile +5 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +41 -0
  10. data/Rakefile +3 -0
  11. data/bin/console +15 -0
  12. data/bin/setup +8 -0
  13. data/lazy_record.gemspec +39 -0
  14. data/lib/lazy_record.rb +14 -0
  15. data/lib/lazy_record/associations.rb +48 -0
  16. data/lib/lazy_record/attributes.rb +56 -0
  17. data/lib/lazy_record/base.rb +62 -0
  18. data/lib/lazy_record/callbacks.rb +30 -0
  19. data/lib/lazy_record/dynamic_modules.rb +17 -0
  20. data/lib/lazy_record/methods.rb +36 -0
  21. data/lib/lazy_record/relation.rb +37 -0
  22. data/lib/lazy_record/scopes.rb +20 -0
  23. data/lib/lazy_record/validations.rb +31 -0
  24. data/lib/lazy_record/version.rb +4 -0
  25. data/vendor/bundle/bin/coderay +22 -0
  26. data/vendor/bundle/bin/htmldiff +24 -0
  27. data/vendor/bundle/bin/ldiff +24 -0
  28. data/vendor/bundle/bin/pry +22 -0
  29. data/vendor/bundle/bin/rake +22 -0
  30. data/vendor/bundle/bin/rspec +22 -0
  31. data/vendor/bundle/cache/activesupport-5.0.2.gem +0 -0
  32. data/vendor/bundle/cache/coderay-1.1.1.gem +0 -0
  33. data/vendor/bundle/cache/concurrent-ruby-1.0.5.gem +0 -0
  34. data/vendor/bundle/cache/diff-lcs-1.3.gem +0 -0
  35. data/vendor/bundle/cache/i18n-0.8.1.gem +0 -0
  36. data/vendor/bundle/cache/method_source-0.8.2.gem +0 -0
  37. data/vendor/bundle/cache/minitest-5.10.1.gem +0 -0
  38. data/vendor/bundle/cache/pry-0.10.4.gem +0 -0
  39. data/vendor/bundle/cache/rake-10.5.0.gem +0 -0
  40. data/vendor/bundle/cache/rspec-3.5.0.gem +0 -0
  41. data/vendor/bundle/cache/rspec-core-3.5.4.gem +0 -0
  42. data/vendor/bundle/cache/rspec-expectations-3.5.0.gem +0 -0
  43. data/vendor/bundle/cache/rspec-mocks-3.5.0.gem +0 -0
  44. data/vendor/bundle/cache/rspec-support-3.5.0.gem +0 -0
  45. data/vendor/bundle/cache/slop-3.6.0.gem +0 -0
  46. data/vendor/bundle/cache/thread_safe-0.3.6.gem +0 -0
  47. data/vendor/bundle/cache/tzinfo-1.2.2.gem +0 -0
  48. data/vendor/bundle/gems/activesupport-5.0.2/CHANGELOG.md +922 -0
  49. data/vendor/bundle/gems/activesupport-5.0.2/MIT-LICENSE +20 -0
  50. data/vendor/bundle/gems/activesupport-5.0.2/README.rdoc +39 -0
  51. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support.rb +99 -0
  52. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/all.rb +3 -0
  53. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/array_inquirer.rb +44 -0
  54. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/backtrace_cleaner.rb +103 -0
  55. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/benchmarkable.rb +49 -0
  56. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/builder.rb +6 -0
  57. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache.rb +701 -0
  58. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/file_store.rb +204 -0
  59. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/mem_cache_store.rb +207 -0
  60. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/memory_store.rb +167 -0
  61. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/null_store.rb +41 -0
  62. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/strategy/local_cache.rb +172 -0
  63. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/strategy/local_cache_middleware.rb +44 -0
  64. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/callbacks.rb +791 -0
  65. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/concern.rb +142 -0
  66. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/concurrency/latch.rb +26 -0
  67. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/concurrency/share_lock.rb +226 -0
  68. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/configurable.rb +148 -0
  69. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext.rb +4 -0
  70. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array.rb +7 -0
  71. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/access.rb +90 -0
  72. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/conversions.rb +211 -0
  73. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/extract_options.rb +29 -0
  74. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/grouping.rb +107 -0
  75. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/inquiry.rb +17 -0
  76. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/prepend_and_append.rb +7 -0
  77. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/wrap.rb +46 -0
  78. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/benchmark.rb +14 -0
  79. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/big_decimal.rb +1 -0
  80. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/big_decimal/conversions.rb +14 -0
  81. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/class.rb +2 -0
  82. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/class/attribute.rb +128 -0
  83. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/class/attribute_accessors.rb +4 -0
  84. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/class/subclasses.rb +41 -0
  85. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date.rb +5 -0
  86. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/acts_like.rb +8 -0
  87. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/blank.rb +12 -0
  88. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/calculations.rb +143 -0
  89. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/conversions.rb +95 -0
  90. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/zones.rb +6 -0
  91. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_and_time/calculations.rb +335 -0
  92. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_and_time/compatibility.rb +22 -0
  93. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_and_time/zones.rb +40 -0
  94. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time.rb +5 -0
  95. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/acts_like.rb +14 -0
  96. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/blank.rb +12 -0
  97. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/calculations.rb +199 -0
  98. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/compatibility.rb +5 -0
  99. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/conversions.rb +105 -0
  100. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/digest/uuid.rb +51 -0
  101. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/enumerable.rb +124 -0
  102. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/file.rb +1 -0
  103. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/file/atomic.rb +68 -0
  104. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash.rb +9 -0
  105. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/compact.rb +24 -0
  106. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/conversions.rb +262 -0
  107. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/deep_merge.rb +38 -0
  108. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/except.rb +22 -0
  109. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/indifferent_access.rb +23 -0
  110. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/keys.rb +170 -0
  111. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/reverse_merge.rb +22 -0
  112. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/slice.rb +48 -0
  113. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/transform_values.rb +29 -0
  114. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/integer.rb +3 -0
  115. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/integer/inflections.rb +29 -0
  116. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/integer/multiple.rb +10 -0
  117. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/integer/time.rb +29 -0
  118. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel.rb +4 -0
  119. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/agnostics.rb +11 -0
  120. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/concern.rb +12 -0
  121. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/debugger.rb +3 -0
  122. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/reporting.rb +43 -0
  123. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/singleton_class.rb +6 -0
  124. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/load_error.rb +31 -0
  125. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/marshal.rb +22 -0
  126. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module.rb +12 -0
  127. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/aliasing.rb +74 -0
  128. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/anonymous.rb +28 -0
  129. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/attr_internal.rb +36 -0
  130. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/attribute_accessors.rb +212 -0
  131. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +141 -0
  132. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/concerning.rb +135 -0
  133. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/delegation.rb +216 -0
  134. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/deprecation.rb +23 -0
  135. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/introspection.rb +68 -0
  136. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/method_transplanting.rb +3 -0
  137. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/qualified_const.rb +70 -0
  138. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/reachable.rb +8 -0
  139. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/remove_method.rb +35 -0
  140. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/name_error.rb +31 -0
  141. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric.rb +4 -0
  142. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric/bytes.rb +64 -0
  143. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric/conversions.rb +144 -0
  144. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric/inquiry.rb +26 -0
  145. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric/time.rb +74 -0
  146. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object.rb +14 -0
  147. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/acts_like.rb +10 -0
  148. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/blank.rb +143 -0
  149. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/conversions.rb +4 -0
  150. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/deep_dup.rb +53 -0
  151. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/duplicable.rb +124 -0
  152. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/inclusion.rb +27 -0
  153. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/instance_variables.rb +28 -0
  154. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/json.rb +205 -0
  155. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/to_param.rb +1 -0
  156. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/to_query.rb +84 -0
  157. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/try.rb +146 -0
  158. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/with_options.rb +69 -0
  159. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range.rb +4 -0
  160. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range/conversions.rb +31 -0
  161. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range/each.rb +21 -0
  162. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range/include_range.rb +23 -0
  163. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range/overlaps.rb +8 -0
  164. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/regexp.rb +5 -0
  165. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/securerandom.rb +23 -0
  166. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string.rb +13 -0
  167. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/access.rb +104 -0
  168. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/behavior.rb +6 -0
  169. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/conversions.rb +57 -0
  170. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/exclude.rb +11 -0
  171. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/filters.rb +102 -0
  172. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/indent.rb +43 -0
  173. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/inflections.rb +244 -0
  174. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/inquiry.rb +13 -0
  175. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/multibyte.rb +53 -0
  176. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/output_safety.rb +260 -0
  177. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/starts_ends_with.rb +4 -0
  178. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/strip.rb +23 -0
  179. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/zones.rb +14 -0
  180. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/struct.rb +3 -0
  181. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time.rb +5 -0
  182. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/acts_like.rb +8 -0
  183. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/calculations.rb +290 -0
  184. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/compatibility.rb +5 -0
  185. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/conversions.rb +67 -0
  186. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/marshal.rb +3 -0
  187. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/zones.rb +111 -0
  188. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/uri.rb +24 -0
  189. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb +754 -0
  190. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies/autoload.rb +77 -0
  191. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies/interlock.rb +55 -0
  192. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation.rb +43 -0
  193. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/behaviors.rb +90 -0
  194. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/instance_delegator.rb +37 -0
  195. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/method_wrappers.rb +70 -0
  196. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/proxy_wrappers.rb +149 -0
  197. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/reporting.rb +112 -0
  198. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/descendants_tracker.rb +60 -0
  199. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/duration.rb +182 -0
  200. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/duration/iso8601_parser.rb +122 -0
  201. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/duration/iso8601_serializer.rb +51 -0
  202. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/evented_file_update_checker.rb +194 -0
  203. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb +126 -0
  204. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/executor.rb +6 -0
  205. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/file_update_checker.rb +157 -0
  206. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/gem_version.rb +15 -0
  207. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/gzip.rb +36 -0
  208. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/hash_with_indifferent_access.rb +329 -0
  209. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/i18n.rb +13 -0
  210. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/i18n_railtie.rb +115 -0
  211. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflections.rb +70 -0
  212. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflector.rb +7 -0
  213. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflector/inflections.rb +242 -0
  214. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflector/methods.rb +390 -0
  215. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflector/transliterate.rb +112 -0
  216. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/json.rb +2 -0
  217. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/json/decoding.rb +74 -0
  218. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/json/encoding.rb +127 -0
  219. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/key_generator.rb +71 -0
  220. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/lazy_load_hooks.rb +56 -0
  221. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/locale/en.yml +135 -0
  222. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/log_subscriber.rb +109 -0
  223. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/log_subscriber/test_helper.rb +104 -0
  224. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/logger.rb +106 -0
  225. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/logger_silence.rb +28 -0
  226. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/logger_thread_safe_level.rb +31 -0
  227. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/message_encryptor.rb +114 -0
  228. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/message_verifier.rb +134 -0
  229. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/multibyte.rb +21 -0
  230. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/multibyte/chars.rb +231 -0
  231. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/multibyte/unicode.rb +413 -0
  232. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/notifications.rb +212 -0
  233. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/notifications/fanout.rb +157 -0
  234. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/notifications/instrumenter.rb +91 -0
  235. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper.rb +368 -0
  236. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_converter.rb +182 -0
  237. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_currency_converter.rb +44 -0
  238. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_delimited_converter.rb +28 -0
  239. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_human_converter.rb +68 -0
  240. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_human_size_converter.rb +62 -0
  241. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_percentage_converter.rb +12 -0
  242. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_phone_converter.rb +58 -0
  243. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_rounded_converter.rb +92 -0
  244. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/option_merger.rb +25 -0
  245. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/ordered_hash.rb +48 -0
  246. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/ordered_options.rb +81 -0
  247. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/per_thread_registry.rb +58 -0
  248. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/proxy_object.rb +13 -0
  249. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/rails.rb +27 -0
  250. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/railtie.rb +51 -0
  251. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/reloader.rb +129 -0
  252. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/rescuable.rb +167 -0
  253. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/security_utils.rb +27 -0
  254. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/string_inquirer.rb +26 -0
  255. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/subscriber.rb +120 -0
  256. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/tagged_logging.rb +77 -0
  257. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/test_case.rb +88 -0
  258. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/assertions.rb +99 -0
  259. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/autorun.rb +9 -0
  260. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/constant_lookup.rb +50 -0
  261. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/declarative.rb +26 -0
  262. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/deprecation.rb +36 -0
  263. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/file_fixtures.rb +34 -0
  264. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/isolation.rb +115 -0
  265. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/method_call_assertions.rb +41 -0
  266. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/setup_and_teardown.rb +50 -0
  267. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/stream.rb +42 -0
  268. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/tagged_logging.rb +25 -0
  269. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/time_helpers.rb +134 -0
  270. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/time.rb +18 -0
  271. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/time_with_zone.rb +500 -0
  272. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/values/time_zone.rb +474 -0
  273. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/values/unicode_tables.dat +0 -0
  274. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/version.rb +8 -0
  275. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini.rb +209 -0
  276. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/jdom.rb +181 -0
  277. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/libxml.rb +79 -0
  278. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/libxmlsax.rb +85 -0
  279. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/nokogiri.rb +83 -0
  280. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/nokogirisax.rb +87 -0
  281. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/rexml.rb +128 -0
  282. data/vendor/bundle/gems/coderay-1.1.1/README_INDEX.rdoc +123 -0
  283. data/vendor/bundle/gems/coderay-1.1.1/Rakefile +37 -0
  284. data/vendor/bundle/gems/coderay-1.1.1/bin/coderay +215 -0
  285. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay.rb +284 -0
  286. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/duo.rb +81 -0
  287. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders.rb +18 -0
  288. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/_map.rb +17 -0
  289. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/comment_filter.rb +25 -0
  290. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/count.rb +39 -0
  291. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/debug.rb +49 -0
  292. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/debug_lint.rb +63 -0
  293. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/div.rb +23 -0
  294. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/encoder.rb +190 -0
  295. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/filter.rb +58 -0
  296. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/html.rb +333 -0
  297. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/html/css.rb +65 -0
  298. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/html/numbering.rb +108 -0
  299. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/html/output.rb +166 -0
  300. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/json.rb +83 -0
  301. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/lines_of_code.rb +45 -0
  302. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/lint.rb +59 -0
  303. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/null.rb +18 -0
  304. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/page.rb +24 -0
  305. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/span.rb +23 -0
  306. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/statistic.rb +95 -0
  307. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/terminal.rb +195 -0
  308. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/text.rb +46 -0
  309. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/token_kind_filter.rb +111 -0
  310. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/xml.rb +72 -0
  311. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/yaml.rb +50 -0
  312. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/for_redcloth.rb +95 -0
  313. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/helpers/file_type.rb +151 -0
  314. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/helpers/plugin.rb +55 -0
  315. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/helpers/plugin_host.rb +221 -0
  316. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/helpers/word_list.rb +72 -0
  317. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners.rb +27 -0
  318. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/_map.rb +24 -0
  319. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/c.rb +189 -0
  320. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/clojure.rb +217 -0
  321. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/cpp.rb +215 -0
  322. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/css.rb +196 -0
  323. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/debug.rb +75 -0
  324. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/delphi.rb +144 -0
  325. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/diff.rb +221 -0
  326. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/erb.rb +81 -0
  327. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/go.rb +208 -0
  328. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/groovy.rb +268 -0
  329. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/haml.rb +168 -0
  330. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/html.rb +275 -0
  331. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/java.rb +174 -0
  332. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/java/builtin_types.rb +421 -0
  333. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/java_script.rb +237 -0
  334. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/json.rb +98 -0
  335. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/lua.rb +280 -0
  336. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/php.rb +527 -0
  337. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/python.rb +287 -0
  338. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/raydebug.rb +75 -0
  339. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/ruby.rb +477 -0
  340. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/ruby/patterns.rb +178 -0
  341. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/ruby/string_state.rb +79 -0
  342. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/sass.rb +232 -0
  343. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/scanner.rb +337 -0
  344. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/sql.rb +169 -0
  345. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/taskpaper.rb +36 -0
  346. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/text.rb +26 -0
  347. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/xml.rb +17 -0
  348. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/yaml.rb +140 -0
  349. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/styles.rb +15 -0
  350. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/styles/_map.rb +7 -0
  351. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/styles/alpha.rb +153 -0
  352. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/styles/style.rb +18 -0
  353. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/token_kinds.rb +85 -0
  354. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/tokens.rb +161 -0
  355. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/tokens_proxy.rb +55 -0
  356. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/version.rb +3 -0
  357. data/vendor/bundle/gems/coderay-1.1.1/test/functional/basic.rb +318 -0
  358. data/vendor/bundle/gems/coderay-1.1.1/test/functional/examples.rb +129 -0
  359. data/vendor/bundle/gems/coderay-1.1.1/test/functional/for_redcloth.rb +78 -0
  360. data/vendor/bundle/gems/coderay-1.1.1/test/functional/suite.rb +15 -0
  361. data/vendor/bundle/gems/concurrent-ruby-1.0.5/CHANGELOG.md +387 -0
  362. data/vendor/bundle/gems/concurrent-ruby-1.0.5/LICENSE.txt +21 -0
  363. data/vendor/bundle/gems/concurrent-ruby-1.0.5/README.md +247 -0
  364. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent.rb +130 -0
  365. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/agent.rb +587 -0
  366. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/array.rb +39 -0
  367. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/async.rb +445 -0
  368. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atom.rb +222 -0
  369. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/abstract_thread_local_var.rb +66 -0
  370. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_boolean.rb +122 -0
  371. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_fixnum.rb +139 -0
  372. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_reference.rb +51 -0
  373. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/count_down_latch.rb +100 -0
  374. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/cyclic_barrier.rb +128 -0
  375. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb +109 -0
  376. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/java_count_down_latch.rb +39 -0
  377. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/java_thread_local_var.rb +37 -0
  378. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_atomic_boolean.rb +60 -0
  379. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_atomic_fixnum.rb +75 -0
  380. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_count_down_latch.rb +43 -0
  381. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_semaphore.rb +115 -0
  382. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/read_write_lock.rb +253 -0
  383. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/reentrant_read_write_lock.rb +377 -0
  384. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/ruby_thread_local_var.rb +161 -0
  385. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/semaphore.rb +145 -0
  386. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/thread_local_var.rb +104 -0
  387. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/concurrent_update_error.rb +8 -0
  388. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/direct_update.rb +81 -0
  389. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/jruby+truffle.rb +2 -0
  390. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/jruby.rb +16 -0
  391. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/mutex_atomic.rb +61 -0
  392. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/numeric_cas_wrapper.rb +28 -0
  393. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/rbx.rb +22 -0
  394. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/ruby.rb +32 -0
  395. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomics.rb +53 -0
  396. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/copy_on_notify_observer_set.rb +107 -0
  397. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/copy_on_write_observer_set.rb +111 -0
  398. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/java_non_concurrent_priority_queue.rb +84 -0
  399. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/atomic_reference_map_backend.rb +927 -0
  400. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/mri_map_backend.rb +66 -0
  401. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/non_concurrent_map_backend.rb +141 -0
  402. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/synchronized_map_backend.rb +82 -0
  403. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/non_concurrent_priority_queue.rb +143 -0
  404. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb +150 -0
  405. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/deprecation.rb +34 -0
  406. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/dereferenceable.rb +73 -0
  407. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/logging.rb +27 -0
  408. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb +220 -0
  409. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/observable.rb +110 -0
  410. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/configuration.rb +188 -0
  411. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/constants.rb +8 -0
  412. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/dataflow.rb +80 -0
  413. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/delay.rb +197 -0
  414. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/edge.rb +26 -0
  415. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/errors.rb +69 -0
  416. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/exchanger.rb +356 -0
  417. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/abstract_executor_service.rb +134 -0
  418. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/cached_thread_pool.rb +62 -0
  419. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/executor_service.rb +185 -0
  420. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/fixed_thread_pool.rb +206 -0
  421. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/immediate_executor.rb +66 -0
  422. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/indirect_immediate_executor.rb +44 -0
  423. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_executor_service.rb +100 -0
  424. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_single_thread_executor.rb +29 -0
  425. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_thread_pool_executor.rb +120 -0
  426. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_executor_service.rb +78 -0
  427. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_single_thread_executor.rb +22 -0
  428. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb +362 -0
  429. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb +35 -0
  430. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serial_executor_service.rb +34 -0
  431. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb +107 -0
  432. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution_delegator.rb +28 -0
  433. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/simple_executor_service.rb +100 -0
  434. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/single_thread_executor.rb +56 -0
  435. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/thread_pool_executor.rb +87 -0
  436. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/timer_set.rb +175 -0
  437. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executors.rb +20 -0
  438. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/future.rb +138 -0
  439. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/hash.rb +36 -0
  440. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/immutable_struct.rb +93 -0
  441. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/ivar.rb +208 -0
  442. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/lazy_register.rb +81 -0
  443. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/map.rb +240 -0
  444. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/maybe.rb +229 -0
  445. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/mutable_struct.rb +228 -0
  446. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/mvar.rb +242 -0
  447. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/options.rb +42 -0
  448. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/promise.rb +547 -0
  449. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/scheduled_task.rb +318 -0
  450. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/settable_struct.rb +128 -0
  451. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization.rb +31 -0
  452. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_lockable_object.rb +98 -0
  453. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_object.rb +24 -0
  454. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_struct.rb +157 -0
  455. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/condition.rb +58 -0
  456. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/jruby_lockable_object.rb +13 -0
  457. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/jruby_object.rb +44 -0
  458. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/lock.rb +34 -0
  459. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/lockable_object.rb +74 -0
  460. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb +71 -0
  461. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_object.rb +43 -0
  462. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/object.rb +153 -0
  463. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/rbx_lockable_object.rb +65 -0
  464. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/rbx_object.rb +48 -0
  465. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/truffle_lockable_object.rb +9 -0
  466. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/truffle_object.rb +31 -0
  467. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/volatile.rb +34 -0
  468. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/synchronized_delegator.rb +50 -0
  469. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util.rb +16 -0
  470. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/adder.rb +74 -0
  471. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/array_hash_rbx.rb +30 -0
  472. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/cheap_lockable.rb +118 -0
  473. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/power_of_two_tuple.rb +38 -0
  474. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/striped64.rb +241 -0
  475. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/volatile.rb +75 -0
  476. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/xor_shift_random.rb +50 -0
  477. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/timer_task.rb +331 -0
  478. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/tuple.rb +86 -0
  479. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/tvar.rb +258 -0
  480. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/at_exit.rb +97 -0
  481. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/engine.rb +56 -0
  482. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/monotonic_time.rb +58 -0
  483. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/native_extension_loader.rb +73 -0
  484. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/native_integer.rb +53 -0
  485. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/processor_counter.rb +160 -0
  486. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/version.rb +4 -0
  487. data/vendor/bundle/gems/diff-lcs-1.3/.rspec +1 -0
  488. data/vendor/bundle/gems/diff-lcs-1.3/Code-of-Conduct.md +74 -0
  489. data/vendor/bundle/gems/diff-lcs-1.3/Contributing.md +83 -0
  490. data/vendor/bundle/gems/diff-lcs-1.3/History.md +220 -0
  491. data/vendor/bundle/gems/diff-lcs-1.3/License.md +39 -0
  492. data/vendor/bundle/gems/diff-lcs-1.3/Manifest.txt +37 -0
  493. data/vendor/bundle/gems/diff-lcs-1.3/README.rdoc +84 -0
  494. data/vendor/bundle/gems/diff-lcs-1.3/Rakefile +57 -0
  495. data/vendor/bundle/gems/diff-lcs-1.3/autotest/discover.rb +1 -0
  496. data/vendor/bundle/gems/diff-lcs-1.3/bin/htmldiff +32 -0
  497. data/vendor/bundle/gems/diff-lcs-1.3/bin/ldiff +6 -0
  498. data/vendor/bundle/gems/diff-lcs-1.3/docs/COPYING.txt +339 -0
  499. data/vendor/bundle/gems/diff-lcs-1.3/docs/artistic.txt +127 -0
  500. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff-lcs.rb +3 -0
  501. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs.rb +725 -0
  502. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +7 -0
  503. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +37 -0
  504. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +322 -0
  505. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +181 -0
  506. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +149 -0
  507. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +276 -0
  508. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +307 -0
  509. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +167 -0
  510. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +5 -0
  511. data/vendor/bundle/gems/diff-lcs-1.3/spec/change_spec.rb +65 -0
  512. data/vendor/bundle/gems/diff-lcs-1.3/spec/diff_spec.rb +47 -0
  513. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +50 -0
  514. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +51 -0
  515. data/vendor/bundle/gems/diff-lcs-1.3/spec/hunk_spec.rb +72 -0
  516. data/vendor/bundle/gems/diff-lcs-1.3/spec/issues_spec.rb +49 -0
  517. data/vendor/bundle/gems/diff-lcs-1.3/spec/lcs_spec.rb +56 -0
  518. data/vendor/bundle/gems/diff-lcs-1.3/spec/ldiff_spec.rb +47 -0
  519. data/vendor/bundle/gems/diff-lcs-1.3/spec/patch_spec.rb +422 -0
  520. data/vendor/bundle/gems/diff-lcs-1.3/spec/sdiff_spec.rb +214 -0
  521. data/vendor/bundle/gems/diff-lcs-1.3/spec/spec_helper.rb +321 -0
  522. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +310 -0
  523. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +139 -0
  524. data/vendor/bundle/gems/i18n-0.8.1/MIT-LICENSE +20 -0
  525. data/vendor/bundle/gems/i18n-0.8.1/README.md +84 -0
  526. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-3.2.x +9 -0
  527. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-4.0.x +9 -0
  528. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-4.1.x +9 -0
  529. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-4.2.x +9 -0
  530. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-5.0.x +9 -0
  531. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-master +9 -0
  532. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n.rb +343 -0
  533. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend.rb +18 -0
  534. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/base.rb +230 -0
  535. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/cache.rb +114 -0
  536. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/cascade.rb +54 -0
  537. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/chain.rb +97 -0
  538. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/fallbacks.rb +84 -0
  539. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/flatten.rb +113 -0
  540. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/gettext.rb +81 -0
  541. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/interpolation_compiler.rb +121 -0
  542. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/key_value.rb +100 -0
  543. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/memoize.rb +46 -0
  544. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/metadata.rb +69 -0
  545. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/pluralization.rb +53 -0
  546. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/simple.rb +87 -0
  547. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/transliterator.rb +106 -0
  548. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/config.rb +142 -0
  549. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/core_ext/hash.rb +29 -0
  550. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/core_ext/kernel/suppress_warnings.rb +8 -0
  551. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/core_ext/string/interpolate.rb +9 -0
  552. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/exceptions.rb +104 -0
  553. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/gettext.rb +25 -0
  554. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/gettext/helpers.rb +73 -0
  555. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/gettext/po_parser.rb +329 -0
  556. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/interpolate/ruby.rb +37 -0
  557. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale.rb +6 -0
  558. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/fallbacks.rb +96 -0
  559. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/tag.rb +28 -0
  560. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/tag/parents.rb +22 -0
  561. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/tag/rfc4646.rb +74 -0
  562. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/tag/simple.rb +39 -0
  563. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests.rb +12 -0
  564. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/basics.rb +60 -0
  565. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/defaults.rb +48 -0
  566. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/interpolation.rb +153 -0
  567. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/link.rb +56 -0
  568. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization.rb +19 -0
  569. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization/date.rb +95 -0
  570. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization/date_time.rb +82 -0
  571. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization/procs.rb +116 -0
  572. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization/time.rb +81 -0
  573. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/lookup.rb +81 -0
  574. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/pluralization.rb +35 -0
  575. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/procs.rb +55 -0
  576. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/version.rb +3 -0
  577. data/vendor/bundle/gems/i18n-0.8.1/test/api/all_features_test.rb +58 -0
  578. data/vendor/bundle/gems/i18n-0.8.1/test/api/cascade_test.rb +28 -0
  579. data/vendor/bundle/gems/i18n-0.8.1/test/api/chain_test.rb +24 -0
  580. data/vendor/bundle/gems/i18n-0.8.1/test/api/fallbacks_test.rb +30 -0
  581. data/vendor/bundle/gems/i18n-0.8.1/test/api/key_value_test.rb +24 -0
  582. data/vendor/bundle/gems/i18n-0.8.1/test/api/memoize_test.rb +56 -0
  583. data/vendor/bundle/gems/i18n-0.8.1/test/api/override_test.rb +42 -0
  584. data/vendor/bundle/gems/i18n-0.8.1/test/api/pluralization_test.rb +30 -0
  585. data/vendor/bundle/gems/i18n-0.8.1/test/api/simple_test.rb +28 -0
  586. data/vendor/bundle/gems/i18n-0.8.1/test/backend/cache_test.rb +108 -0
  587. data/vendor/bundle/gems/i18n-0.8.1/test/backend/cascade_test.rb +86 -0
  588. data/vendor/bundle/gems/i18n-0.8.1/test/backend/chain_test.rb +91 -0
  589. data/vendor/bundle/gems/i18n-0.8.1/test/backend/exceptions_test.rb +36 -0
  590. data/vendor/bundle/gems/i18n-0.8.1/test/backend/fallbacks_test.rb +206 -0
  591. data/vendor/bundle/gems/i18n-0.8.1/test/backend/interpolation_compiler_test.rb +118 -0
  592. data/vendor/bundle/gems/i18n-0.8.1/test/backend/key_value_test.rb +43 -0
  593. data/vendor/bundle/gems/i18n-0.8.1/test/backend/memoize_test.rb +47 -0
  594. data/vendor/bundle/gems/i18n-0.8.1/test/backend/metadata_test.rb +48 -0
  595. data/vendor/bundle/gems/i18n-0.8.1/test/backend/pluralization_test.rb +45 -0
  596. data/vendor/bundle/gems/i18n-0.8.1/test/backend/simple_test.rb +84 -0
  597. data/vendor/bundle/gems/i18n-0.8.1/test/backend/transliterator_test.rb +84 -0
  598. data/vendor/bundle/gems/i18n-0.8.1/test/core_ext/hash_test.rb +42 -0
  599. data/vendor/bundle/gems/i18n-0.8.1/test/gettext/api_test.rb +214 -0
  600. data/vendor/bundle/gems/i18n-0.8.1/test/gettext/backend_test.rb +92 -0
  601. data/vendor/bundle/gems/i18n-0.8.1/test/i18n/exceptions_test.rb +114 -0
  602. data/vendor/bundle/gems/i18n-0.8.1/test/i18n/interpolate_test.rb +91 -0
  603. data/vendor/bundle/gems/i18n-0.8.1/test/i18n/load_path_test.rb +34 -0
  604. data/vendor/bundle/gems/i18n-0.8.1/test/i18n_test.rb +437 -0
  605. data/vendor/bundle/gems/i18n-0.8.1/test/locale/fallbacks_test.rb +133 -0
  606. data/vendor/bundle/gems/i18n-0.8.1/test/locale/tag/rfc4646_test.rb +143 -0
  607. data/vendor/bundle/gems/i18n-0.8.1/test/locale/tag/simple_test.rb +32 -0
  608. data/vendor/bundle/gems/i18n-0.8.1/test/run_all.rb +20 -0
  609. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/de.po +82 -0
  610. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/en.rb +3 -0
  611. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/en.yml +3 -0
  612. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/invalid/empty.yml +0 -0
  613. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/invalid/syntax.yml +4 -0
  614. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/plurals.rb +113 -0
  615. data/vendor/bundle/gems/i18n-0.8.1/test/test_helper.rb +55 -0
  616. data/vendor/bundle/gems/method_source-0.8.2/.gemtest +0 -0
  617. data/vendor/bundle/gems/method_source-0.8.2/.travis.yml +13 -0
  618. data/vendor/bundle/gems/method_source-0.8.2/.yardopts +1 -0
  619. data/vendor/bundle/gems/method_source-0.8.2/Gemfile +2 -0
  620. data/vendor/bundle/gems/method_source-0.8.2/LICENSE +25 -0
  621. data/vendor/bundle/gems/method_source-0.8.2/README.markdown +91 -0
  622. data/vendor/bundle/gems/method_source-0.8.2/Rakefile +79 -0
  623. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source.rb +141 -0
  624. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source/code_helpers.rb +154 -0
  625. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source/source_location.rb +138 -0
  626. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source/version.rb +3 -0
  627. data/vendor/bundle/gems/method_source-0.8.2/method_source.gemspec +33 -0
  628. data/vendor/bundle/gems/method_source-0.8.2/test/test.rb +138 -0
  629. data/vendor/bundle/gems/method_source-0.8.2/test/test_code_helpers.rb +41 -0
  630. data/vendor/bundle/gems/method_source-0.8.2/test/test_helper.rb +98 -0
  631. data/vendor/bundle/gems/minitest-5.10.1/.autotest +34 -0
  632. data/vendor/bundle/gems/minitest-5.10.1/History.rdoc +1207 -0
  633. data/vendor/bundle/gems/minitest-5.10.1/Manifest.txt +26 -0
  634. data/vendor/bundle/gems/minitest-5.10.1/README.rdoc +660 -0
  635. data/vendor/bundle/gems/minitest-5.10.1/Rakefile +86 -0
  636. data/vendor/bundle/gems/minitest-5.10.1/design_rationale.rb +52 -0
  637. data/vendor/bundle/gems/minitest-5.10.1/lib/hoe/minitest.rb +32 -0
  638. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest.rb +842 -0
  639. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb +688 -0
  640. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/autorun.rb +13 -0
  641. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/benchmark.rb +424 -0
  642. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/expectations.rb +284 -0
  643. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/hell.rb +17 -0
  644. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb +232 -0
  645. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb +69 -0
  646. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/pride.rb +4 -0
  647. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/pride_plugin.rb +142 -0
  648. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb +331 -0
  649. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/test.rb +282 -0
  650. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/unit.rb +45 -0
  651. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/metametameta.rb +101 -0
  652. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_benchmark.rb +137 -0
  653. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_mock.rb +512 -0
  654. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_reporter.rb +281 -0
  655. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_spec.rb +970 -0
  656. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_test.rb +2058 -0
  657. data/vendor/bundle/gems/pry-0.10.4/CHANGELOG.md +718 -0
  658. data/vendor/bundle/gems/pry-0.10.4/LICENSE +25 -0
  659. data/vendor/bundle/gems/pry-0.10.4/README.md +406 -0
  660. data/vendor/bundle/gems/pry-0.10.4/bin/pry +16 -0
  661. data/vendor/bundle/gems/pry-0.10.4/lib/pry.rb +161 -0
  662. data/vendor/bundle/gems/pry-0.10.4/lib/pry/cli.rb +220 -0
  663. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code.rb +348 -0
  664. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code/code_file.rb +103 -0
  665. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code/code_range.rb +71 -0
  666. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code/loc.rb +92 -0
  667. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code_object.rb +172 -0
  668. data/vendor/bundle/gems/pry-0.10.4/lib/pry/color_printer.rb +55 -0
  669. data/vendor/bundle/gems/pry-0.10.4/lib/pry/command.rb +692 -0
  670. data/vendor/bundle/gems/pry-0.10.4/lib/pry/command_set.rb +443 -0
  671. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands.rb +6 -0
  672. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/amend_line.rb +99 -0
  673. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/bang.rb +20 -0
  674. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/bang_pry.rb +17 -0
  675. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat.rb +62 -0
  676. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat/abstract_formatter.rb +27 -0
  677. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat/exception_formatter.rb +77 -0
  678. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat/file_formatter.rb +67 -0
  679. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat/input_expression_formatter.rb +43 -0
  680. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cd.rb +41 -0
  681. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/change_inspector.rb +27 -0
  682. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/change_prompt.rb +26 -0
  683. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/code_collector.rb +165 -0
  684. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/disable_pry.rb +27 -0
  685. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/disabled_commands.rb +2 -0
  686. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/easter_eggs.rb +112 -0
  687. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/edit.rb +195 -0
  688. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/edit/exception_patcher.rb +25 -0
  689. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/edit/file_and_line_locator.rb +36 -0
  690. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/exit.rb +42 -0
  691. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/exit_all.rb +29 -0
  692. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/exit_program.rb +23 -0
  693. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/find_method.rb +193 -0
  694. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/fix_indent.rb +19 -0
  695. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gem_cd.rb +26 -0
  696. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gem_install.rb +32 -0
  697. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gem_list.rb +33 -0
  698. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gem_open.rb +29 -0
  699. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gist.rb +101 -0
  700. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/help.rb +164 -0
  701. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/hist.rb +180 -0
  702. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/import_set.rb +22 -0
  703. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/install_command.rb +53 -0
  704. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/jump_to.rb +29 -0
  705. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/list_inspectors.rb +35 -0
  706. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/list_prompts.rb +35 -0
  707. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls.rb +114 -0
  708. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/constants.rb +47 -0
  709. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/formatter.rb +49 -0
  710. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/globals.rb +48 -0
  711. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/grep.rb +21 -0
  712. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/instance_vars.rb +39 -0
  713. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/interrogatable.rb +18 -0
  714. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/jruby_hacks.rb +49 -0
  715. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/local_names.rb +35 -0
  716. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/local_vars.rb +39 -0
  717. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/ls_entity.rb +70 -0
  718. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/methods.rb +57 -0
  719. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/methods_helper.rb +46 -0
  720. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/self_methods.rb +32 -0
  721. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/nesting.rb +25 -0
  722. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/play.rb +103 -0
  723. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/pry_backtrace.rb +25 -0
  724. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/pry_version.rb +17 -0
  725. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/raise_up.rb +32 -0
  726. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/reload_code.rb +62 -0
  727. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/reset.rb +18 -0
  728. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ri.rb +60 -0
  729. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/save_file.rb +61 -0
  730. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/shell_command.rb +48 -0
  731. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/shell_mode.rb +25 -0
  732. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/show_doc.rb +83 -0
  733. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/show_info.rb +201 -0
  734. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/show_input.rb +17 -0
  735. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/show_source.rb +50 -0
  736. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/simple_prompt.rb +22 -0
  737. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/stat.rb +40 -0
  738. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/switch_to.rb +23 -0
  739. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/toggle_color.rb +24 -0
  740. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/watch_expression.rb +105 -0
  741. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/watch_expression/expression.rb +38 -0
  742. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/whereami.rb +196 -0
  743. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/wtf.rb +57 -0
  744. data/vendor/bundle/gems/pry-0.10.4/lib/pry/config.rb +24 -0
  745. data/vendor/bundle/gems/pry-0.10.4/lib/pry/config/behavior.rb +139 -0
  746. data/vendor/bundle/gems/pry-0.10.4/lib/pry/config/convenience.rb +25 -0
  747. data/vendor/bundle/gems/pry-0.10.4/lib/pry/config/default.rb +161 -0
  748. data/vendor/bundle/gems/pry-0.10.4/lib/pry/core_extensions.rb +131 -0
  749. data/vendor/bundle/gems/pry-0.10.4/lib/pry/editor.rb +135 -0
  750. data/vendor/bundle/gems/pry-0.10.4/lib/pry/exceptions.rb +78 -0
  751. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers.rb +5 -0
  752. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/base_helpers.rb +113 -0
  753. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/command_helpers.rb +156 -0
  754. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/documentation_helpers.rb +75 -0
  755. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/options_helpers.rb +27 -0
  756. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/table.rb +109 -0
  757. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/text.rb +107 -0
  758. data/vendor/bundle/gems/pry-0.10.4/lib/pry/history.rb +127 -0
  759. data/vendor/bundle/gems/pry-0.10.4/lib/pry/history_array.rb +121 -0
  760. data/vendor/bundle/gems/pry-0.10.4/lib/pry/hooks.rb +230 -0
  761. data/vendor/bundle/gems/pry-0.10.4/lib/pry/indent.rb +406 -0
  762. data/vendor/bundle/gems/pry-0.10.4/lib/pry/input_completer.rb +242 -0
  763. data/vendor/bundle/gems/pry-0.10.4/lib/pry/input_lock.rb +132 -0
  764. data/vendor/bundle/gems/pry-0.10.4/lib/pry/inspector.rb +27 -0
  765. data/vendor/bundle/gems/pry-0.10.4/lib/pry/last_exception.rb +61 -0
  766. data/vendor/bundle/gems/pry-0.10.4/lib/pry/method.rb +546 -0
  767. data/vendor/bundle/gems/pry-0.10.4/lib/pry/method/disowned.rb +53 -0
  768. data/vendor/bundle/gems/pry-0.10.4/lib/pry/method/patcher.rb +125 -0
  769. data/vendor/bundle/gems/pry-0.10.4/lib/pry/method/weird_method_locator.rb +188 -0
  770. data/vendor/bundle/gems/pry-0.10.4/lib/pry/module_candidate.rb +137 -0
  771. data/vendor/bundle/gems/pry-0.10.4/lib/pry/object_path.rb +82 -0
  772. data/vendor/bundle/gems/pry-0.10.4/lib/pry/output.rb +50 -0
  773. data/vendor/bundle/gems/pry-0.10.4/lib/pry/pager.rb +239 -0
  774. data/vendor/bundle/gems/pry-0.10.4/lib/pry/plugins.rb +103 -0
  775. data/vendor/bundle/gems/pry-0.10.4/lib/pry/prompt.rb +26 -0
  776. data/vendor/bundle/gems/pry-0.10.4/lib/pry/pry_class.rb +375 -0
  777. data/vendor/bundle/gems/pry-0.10.4/lib/pry/pry_instance.rb +664 -0
  778. data/vendor/bundle/gems/pry-0.10.4/lib/pry/rbx_path.rb +22 -0
  779. data/vendor/bundle/gems/pry-0.10.4/lib/pry/repl.rb +202 -0
  780. data/vendor/bundle/gems/pry-0.10.4/lib/pry/repl_file_loader.rb +74 -0
  781. data/vendor/bundle/gems/pry-0.10.4/lib/pry/rubygem.rb +82 -0
  782. data/vendor/bundle/gems/pry-0.10.4/lib/pry/terminal.rb +79 -0
  783. data/vendor/bundle/gems/pry-0.10.4/lib/pry/test/helper.rb +170 -0
  784. data/vendor/bundle/gems/pry-0.10.4/lib/pry/version.rb +3 -0
  785. data/vendor/bundle/gems/pry-0.10.4/lib/pry/wrapped_module.rb +378 -0
  786. data/vendor/bundle/gems/rake-10.5.0/.autotest +7 -0
  787. data/vendor/bundle/gems/rake-10.5.0/.rubocop.yml +27 -0
  788. data/vendor/bundle/gems/rake-10.5.0/.togglerc +7 -0
  789. data/vendor/bundle/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  790. data/vendor/bundle/gems/rake-10.5.0/History.rdoc +659 -0
  791. data/vendor/bundle/gems/rake-10.5.0/MIT-LICENSE +21 -0
  792. data/vendor/bundle/gems/rake-10.5.0/Manifest.txt +166 -0
  793. data/vendor/bundle/gems/rake-10.5.0/README.rdoc +139 -0
  794. data/vendor/bundle/gems/rake-10.5.0/Rakefile +81 -0
  795. data/vendor/bundle/gems/rake-10.5.0/bin/rake +33 -0
  796. data/vendor/bundle/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  797. data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  798. data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  799. data/vendor/bundle/gems/rake-10.5.0/doc/example/a.c +6 -0
  800. data/vendor/bundle/gems/rake-10.5.0/doc/example/b.c +6 -0
  801. data/vendor/bundle/gems/rake-10.5.0/doc/example/main.c +11 -0
  802. data/vendor/bundle/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  803. data/vendor/bundle/gems/rake-10.5.0/doc/jamis.rb +591 -0
  804. data/vendor/bundle/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  805. data/vendor/bundle/gems/rake-10.5.0/doc/rake.1 +141 -0
  806. data/vendor/bundle/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  807. data/vendor/bundle/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  808. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  809. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  810. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  811. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  812. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  813. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  814. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  815. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  816. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  817. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  818. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  819. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  820. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  821. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  822. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  823. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  824. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  825. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  826. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  827. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  828. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  829. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  830. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  831. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  832. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  833. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  834. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  835. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  836. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  837. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  838. data/vendor/bundle/gems/rake-10.5.0/lib/rake.rb +79 -0
  839. data/vendor/bundle/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  840. data/vendor/bundle/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  841. data/vendor/bundle/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  842. data/vendor/bundle/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  843. data/vendor/bundle/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  844. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  845. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  846. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  847. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  848. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  849. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  850. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  851. data/vendor/bundle/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  852. data/vendor/bundle/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  853. data/vendor/bundle/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  854. data/vendor/bundle/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  855. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  856. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  857. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  858. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  859. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  860. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  861. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  862. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  863. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  864. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  865. data/vendor/bundle/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  866. data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  867. data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  868. data/vendor/bundle/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  869. data/vendor/bundle/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  870. data/vendor/bundle/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  871. data/vendor/bundle/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  872. data/vendor/bundle/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  873. data/vendor/bundle/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  874. data/vendor/bundle/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  875. data/vendor/bundle/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  876. data/vendor/bundle/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  877. data/vendor/bundle/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  878. data/vendor/bundle/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  879. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  880. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  881. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  882. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  883. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  884. data/vendor/bundle/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  885. data/vendor/bundle/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  886. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  887. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  888. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  889. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  890. data/vendor/bundle/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  891. data/vendor/bundle/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  892. data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  893. data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  894. data/vendor/bundle/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  895. data/vendor/bundle/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  896. data/vendor/bundle/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  897. data/vendor/bundle/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  898. data/vendor/bundle/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  899. data/vendor/bundle/gems/rake-10.5.0/test/file_creation.rb +34 -0
  900. data/vendor/bundle/gems/rake-10.5.0/test/helper.rb +129 -0
  901. data/vendor/bundle/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  902. data/vendor/bundle/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  903. data/vendor/bundle/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  904. data/vendor/bundle/gems/rake-10.5.0/test/test_rake.rb +40 -0
  905. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  906. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  907. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  908. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  909. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  910. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  911. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  912. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  913. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  914. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  915. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  916. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  917. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  918. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  919. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  920. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  921. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  922. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  923. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  924. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  925. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  926. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  927. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  928. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  929. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  930. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  931. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  932. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  933. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  934. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  935. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  936. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  937. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  938. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  939. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  940. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  941. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  942. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  943. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  944. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  945. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  946. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  947. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  948. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  949. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  950. data/vendor/bundle/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  951. data/vendor/bundle/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  952. data/vendor/bundle/gems/rspec-3.5.0/LICENSE.md +27 -0
  953. data/vendor/bundle/gems/rspec-3.5.0/README.md +39 -0
  954. data/vendor/bundle/gems/rspec-3.5.0/lib/rspec.rb +3 -0
  955. data/vendor/bundle/gems/rspec-3.5.0/lib/rspec/version.rb +5 -0
  956. data/vendor/bundle/gems/rspec-core-3.5.4/.document +5 -0
  957. data/vendor/bundle/gems/rspec-core-3.5.4/.yardopts +8 -0
  958. data/vendor/bundle/gems/rspec-core-3.5.4/Changelog.md +2102 -0
  959. data/vendor/bundle/gems/rspec-core-3.5.4/LICENSE.md +26 -0
  960. data/vendor/bundle/gems/rspec-core-3.5.4/README.md +384 -0
  961. data/vendor/bundle/gems/rspec-core-3.5.4/exe/rspec +4 -0
  962. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/autorun.rb +3 -0
  963. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core.rb +185 -0
  964. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/backtrace_formatter.rb +65 -0
  965. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/bisect/coordinator.rb +66 -0
  966. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/bisect/example_minimizer.rb +169 -0
  967. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/bisect/runner.rb +169 -0
  968. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/bisect/server.rb +65 -0
  969. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/configuration.rb +2100 -0
  970. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/configuration_options.rb +194 -0
  971. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/drb.rb +111 -0
  972. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/dsl.rb +98 -0
  973. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb +649 -0
  974. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb +879 -0
  975. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_status_persister.rb +235 -0
  976. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/filter_manager.rb +231 -0
  977. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/flat_map.rb +20 -0
  978. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters.rb +255 -0
  979. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/base_formatter.rb +70 -0
  980. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/base_text_formatter.rb +77 -0
  981. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/bisect_formatter.rb +69 -0
  982. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/bisect_progress_formatter.rb +144 -0
  983. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/console_codes.rb +65 -0
  984. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  985. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/documentation_formatter.rb +69 -0
  986. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/exception_presenter.rb +491 -0
  987. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  988. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/helpers.rb +110 -0
  989. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/html_formatter.rb +151 -0
  990. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/html_printer.rb +414 -0
  991. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/html_snippet_extractor.rb +116 -0
  992. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/json_formatter.rb +96 -0
  993. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  994. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/progress_formatter.rb +28 -0
  995. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/protocol.rb +181 -0
  996. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/snippet_extractor.rb +136 -0
  997. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb +624 -0
  998. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/invocations.rb +67 -0
  999. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/memoized_helpers.rb +532 -0
  1000. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/metadata.rb +499 -0
  1001. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/metadata_filter.rb +243 -0
  1002. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  1003. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  1004. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  1005. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/null.rb +14 -0
  1006. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  1007. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  1008. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/notifications.rb +498 -0
  1009. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/option_parser.rb +289 -0
  1010. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/ordering.rb +158 -0
  1011. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/pending.rb +165 -0
  1012. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/profiler.rb +32 -0
  1013. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/project_initializer.rb +48 -0
  1014. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/project_initializer/.rspec +2 -0
  1015. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/project_initializer/spec/spec_helper.rb +103 -0
  1016. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb +168 -0
  1017. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/reporter.rb +248 -0
  1018. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/ruby_project.rb +53 -0
  1019. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb +188 -0
  1020. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/sandbox.rb +37 -0
  1021. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/set.rb +49 -0
  1022. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/shared_context.rb +55 -0
  1023. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/shared_example_group.rb +247 -0
  1024. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/shell_escape.rb +49 -0
  1025. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source.rb +86 -0
  1026. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source/location.rb +13 -0
  1027. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source/node.rb +93 -0
  1028. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source/syntax_highlighter.rb +71 -0
  1029. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source/token.rb +87 -0
  1030. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  1031. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/version.rb +9 -0
  1032. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/warnings.rb +40 -0
  1033. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/world.rb +256 -0
  1034. data/vendor/bundle/gems/rspec-expectations-3.5.0/.document +5 -0
  1035. data/vendor/bundle/gems/rspec-expectations-3.5.0/.yardopts +6 -0
  1036. data/vendor/bundle/gems/rspec-expectations-3.5.0/Changelog.md +1034 -0
  1037. data/vendor/bundle/gems/rspec-expectations-3.5.0/LICENSE.md +25 -0
  1038. data/vendor/bundle/gems/rspec-expectations-3.5.0/README.md +303 -0
  1039. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations.rb +81 -0
  1040. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/configuration.rb +201 -0
  1041. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/expectation_target.rb +127 -0
  1042. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/fail_with.rb +31 -0
  1043. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/failure_aggregator.rb +194 -0
  1044. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb +170 -0
  1045. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb +58 -0
  1046. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/syntax.rb +132 -0
  1047. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/version.rb +8 -0
  1048. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers.rb +1038 -0
  1049. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
  1050. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in.rb +52 -0
  1051. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/all.rb +85 -0
  1052. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/base_matcher.rb +181 -0
  1053. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be.rb +288 -0
  1054. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
  1055. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
  1056. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
  1057. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
  1058. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/change.rb +354 -0
  1059. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/compound.rb +272 -0
  1060. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/contain_exactly.rb +286 -0
  1061. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/cover.rb +24 -0
  1062. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/eq.rb +40 -0
  1063. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/eql.rb +34 -0
  1064. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/equal.rb +81 -0
  1065. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/exist.rb +86 -0
  1066. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/has.rb +103 -0
  1067. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  1068. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/include.rb +143 -0
  1069. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/match.rb +106 -0
  1070. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/operators.rb +128 -0
  1071. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/output.rb +200 -0
  1072. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/raise_error.rb +230 -0
  1073. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/respond_to.rb +165 -0
  1074. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/satisfy.rb +37 -0
  1075. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  1076. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  1077. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/yield.rb +419 -0
  1078. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/composable.rb +185 -0
  1079. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/dsl.rb +466 -0
  1080. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/english_phrasing.rb +58 -0
  1081. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
  1082. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/fail_matchers.rb +42 -0
  1083. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/generated_descriptions.rb +42 -0
  1084. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
  1085. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/matcher_protocol.rb +99 -0
  1086. data/vendor/bundle/gems/rspec-mocks-3.5.0/.document +5 -0
  1087. data/vendor/bundle/gems/rspec-mocks-3.5.0/.yardopts +6 -0
  1088. data/vendor/bundle/gems/rspec-mocks-3.5.0/Changelog.md +1043 -0
  1089. data/vendor/bundle/gems/rspec-mocks-3.5.0/LICENSE.md +25 -0
  1090. data/vendor/bundle/gems/rspec-mocks-3.5.0/README.md +445 -0
  1091. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks.rb +130 -0
  1092. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance.rb +11 -0
  1093. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/chain.rb +110 -0
  1094. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  1095. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
  1096. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/expectation_chain.rb +48 -0
  1097. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  1098. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  1099. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/recorder.rb +289 -0
  1100. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/stub_chain.rb +47 -0
  1101. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +28 -0
  1102. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  1103. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/argument_matchers.rb +320 -0
  1104. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/configuration.rb +205 -0
  1105. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/error_generator.rb +369 -0
  1106. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/example_methods.rb +422 -0
  1107. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/instance_method_stasher.rb +135 -0
  1108. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/marshal_extension.rb +41 -0
  1109. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  1110. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/have_received.rb +130 -0
  1111. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/receive.rb +132 -0
  1112. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  1113. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  1114. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/message_chain.rb +87 -0
  1115. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/message_expectation.rb +740 -0
  1116. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/method_double.rb +287 -0
  1117. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/method_reference.rb +202 -0
  1118. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/minitest_integration.rb +68 -0
  1119. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/mutate_const.rb +335 -0
  1120. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/object_reference.rb +149 -0
  1121. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/order_group.rb +81 -0
  1122. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/proxy.rb +489 -0
  1123. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/space.rb +238 -0
  1124. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/standalone.rb +3 -0
  1125. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/syntax.rb +325 -0
  1126. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/targets.rb +124 -0
  1127. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/test_double.rb +170 -0
  1128. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/verifying_double.rb +129 -0
  1129. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
  1130. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/verifying_proxy.rb +213 -0
  1131. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/version.rb +9 -0
  1132. data/vendor/bundle/gems/rspec-support-3.5.0/Changelog.md +192 -0
  1133. data/vendor/bundle/gems/rspec-support-3.5.0/LICENSE.md +23 -0
  1134. data/vendor/bundle/gems/rspec-support-3.5.0/README.md +40 -0
  1135. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support.rb +139 -0
  1136. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/caller_filter.rb +83 -0
  1137. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/comparable_version.rb +46 -0
  1138. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/differ.rb +215 -0
  1139. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/directory_maker.rb +63 -0
  1140. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/encoded_string.rb +165 -0
  1141. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
  1142. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/hunk_generator.rb +47 -0
  1143. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/matcher_definition.rb +42 -0
  1144. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/method_signature_verifier.rb +392 -0
  1145. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/mutex.rb +73 -0
  1146. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/object_formatter.rb +249 -0
  1147. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/recursive_const_methods.rb +76 -0
  1148. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/reentrant_mutex.rb +53 -0
  1149. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/ruby_features.rb +149 -0
  1150. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec.rb +81 -0
  1151. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
  1152. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/formatting_support.rb +9 -0
  1153. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/in_sub_process.rb +52 -0
  1154. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  1155. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/shell_out.rb +82 -0
  1156. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/stderr_splitter.rb +63 -0
  1157. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/string_matcher.rb +46 -0
  1158. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  1159. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  1160. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/version.rb +7 -0
  1161. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/warnings.rb +39 -0
  1162. data/vendor/bundle/gems/slop-3.6.0/.gitignore +7 -0
  1163. data/vendor/bundle/gems/slop-3.6.0/.travis.yml +9 -0
  1164. data/vendor/bundle/gems/slop-3.6.0/CHANGES.md +309 -0
  1165. data/vendor/bundle/gems/slop-3.6.0/Gemfile +3 -0
  1166. data/vendor/bundle/gems/slop-3.6.0/LICENSE +20 -0
  1167. data/vendor/bundle/gems/slop-3.6.0/README.md +202 -0
  1168. data/vendor/bundle/gems/slop-3.6.0/Rakefile +29 -0
  1169. data/vendor/bundle/gems/slop-3.6.0/lib/slop.rb +687 -0
  1170. data/vendor/bundle/gems/slop-3.6.0/lib/slop/commands.rb +196 -0
  1171. data/vendor/bundle/gems/slop-3.6.0/lib/slop/option.rb +214 -0
  1172. data/vendor/bundle/gems/slop-3.6.0/slop.gemspec +17 -0
  1173. data/vendor/bundle/gems/slop-3.6.0/test/commands_test.rb +26 -0
  1174. data/vendor/bundle/gems/slop-3.6.0/test/helper.rb +12 -0
  1175. data/vendor/bundle/gems/slop-3.6.0/test/option_test.rb +145 -0
  1176. data/vendor/bundle/gems/slop-3.6.0/test/slop_test.rb +518 -0
  1177. data/vendor/bundle/gems/thread_safe-0.3.6/.rspec +2 -0
  1178. data/vendor/bundle/gems/thread_safe-0.3.6/.travis.yml +46 -0
  1179. data/vendor/bundle/gems/thread_safe-0.3.6/.yardopts +13 -0
  1180. data/vendor/bundle/gems/thread_safe-0.3.6/Gemfile +20 -0
  1181. data/vendor/bundle/gems/thread_safe-0.3.6/LICENSE +144 -0
  1182. data/vendor/bundle/gems/thread_safe-0.3.6/README.md +60 -0
  1183. data/vendor/bundle/gems/thread_safe-0.3.6/Rakefile +62 -0
  1184. data/vendor/bundle/gems/thread_safe-0.3.6/examples/bench_cache.rb +35 -0
  1185. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/JRubyCacheBackendLibrary.java +245 -0
  1186. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMap.java +31 -0
  1187. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMapV8.java +3863 -0
  1188. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/LongAdder.java +203 -0
  1189. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/Striped64.java +342 -0
  1190. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/ConcurrentHashMapV8.java +3800 -0
  1191. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/LongAdder.java +204 -0
  1192. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/Striped64.java +291 -0
  1193. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166y/ThreadLocalRandom.java +199 -0
  1194. data/vendor/bundle/gems/thread_safe-0.3.6/ext/thread_safe/JrubyCacheBackendService.java +15 -0
  1195. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe.rb +65 -0
  1196. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/atomic_reference_cache_backend.rb +908 -0
  1197. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/cache.rb +161 -0
  1198. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/mri_cache_backend.rb +60 -0
  1199. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/non_concurrent_cache_backend.rb +135 -0
  1200. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_cache_backend.rb +77 -0
  1201. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_delegator.rb +43 -0
  1202. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util.rb +16 -0
  1203. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/adder.rb +62 -0
  1204. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/atomic_reference.rb +44 -0
  1205. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/cheap_lockable.rb +106 -0
  1206. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/power_of_two_tuple.rb +26 -0
  1207. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/striped64.rb +222 -0
  1208. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile.rb +64 -0
  1209. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile_tuple.rb +46 -0
  1210. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/xor_shift_random.rb +41 -0
  1211. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/version.rb +21 -0
  1212. data/vendor/bundle/gems/thread_safe-0.3.6/spec/.gitignore +0 -0
  1213. data/vendor/bundle/gems/thread_safe-0.3.6/spec/spec_helper.rb +31 -0
  1214. data/vendor/bundle/gems/thread_safe-0.3.6/spec/src/thread_safe/SecurityManager.java +21 -0
  1215. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/.gitignore +0 -0
  1216. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/threads.rb +1 -0
  1217. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/threadsafe_test.rb +75 -0
  1218. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/.gitignore +0 -0
  1219. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/array_spec.rb +18 -0
  1220. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/cache_loops_spec.rb +507 -0
  1221. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/cache_spec.rb +943 -0
  1222. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/hash_spec.rb +17 -0
  1223. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/no_unsafe_spec.rb +27 -0
  1224. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/synchronized_delegator_spec.rb +85 -0
  1225. data/vendor/bundle/gems/thread_safe-0.3.6/tasks/update_doc.rake +45 -0
  1226. data/vendor/bundle/gems/thread_safe-0.3.6/thread_safe.gemspec +26 -0
  1227. data/vendor/bundle/gems/thread_safe-0.3.6/yard-template/default/fulldoc/html/css/common.css +125 -0
  1228. data/vendor/bundle/gems/thread_safe-0.3.6/yard-template/default/layout/html/footer.erb +16 -0
  1229. data/vendor/bundle/gems/tzinfo-1.2.2/.yardopts +6 -0
  1230. data/vendor/bundle/gems/tzinfo-1.2.2/CHANGES.md +649 -0
  1231. data/vendor/bundle/gems/tzinfo-1.2.2/LICENSE +19 -0
  1232. data/vendor/bundle/gems/tzinfo-1.2.2/README.md +151 -0
  1233. data/vendor/bundle/gems/tzinfo-1.2.2/Rakefile +104 -0
  1234. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo.rb +40 -0
  1235. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/country.rb +196 -0
  1236. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/country_index_definition.rb +31 -0
  1237. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/country_info.rb +42 -0
  1238. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/country_timezone.rb +123 -0
  1239. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/data_source.rb +190 -0
  1240. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/data_timezone.rb +58 -0
  1241. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/data_timezone_info.rb +55 -0
  1242. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/info_timezone.rb +30 -0
  1243. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/linked_timezone.rb +63 -0
  1244. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/linked_timezone_info.rb +26 -0
  1245. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/offset_rationals.rb +77 -0
  1246. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/ruby_core_support.rb +146 -0
  1247. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/ruby_country_info.rb +70 -0
  1248. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/ruby_data_source.rb +136 -0
  1249. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/time_or_datetime.rb +333 -0
  1250. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone.rb +637 -0
  1251. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_definition.rb +36 -0
  1252. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_index_definition.rb +54 -0
  1253. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_info.rb +30 -0
  1254. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_offset.rb +74 -0
  1255. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_period.rb +204 -0
  1256. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_proxy.rb +70 -0
  1257. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_transition.rb +120 -0
  1258. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_transition_definition.rb +101 -0
  1259. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/transition_data_timezone_info.rb +274 -0
  1260. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/zoneinfo_country_info.rb +35 -0
  1261. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/zoneinfo_data_source.rb +487 -0
  1262. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/zoneinfo_timezone_info.rb +245 -0
  1263. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_country.rb +236 -0
  1264. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_country_index_definition.rb +69 -0
  1265. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_country_info.rb +16 -0
  1266. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_country_timezone.rb +161 -0
  1267. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_data_source.rb +218 -0
  1268. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_data_timezone.rb +99 -0
  1269. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_data_timezone_info.rb +18 -0
  1270. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_info_timezone.rb +34 -0
  1271. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_linked_timezone.rb +155 -0
  1272. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_linked_timezone_info.rb +23 -0
  1273. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_offset_rationals.rb +23 -0
  1274. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_ruby_core_support.rb +168 -0
  1275. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_ruby_country_info.rb +80 -0
  1276. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_ruby_data_source.rb +143 -0
  1277. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_time_or_datetime.rb +639 -0
  1278. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone.rb +1334 -0
  1279. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_definition.rb +113 -0
  1280. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_index_definition.rb +73 -0
  1281. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_info.rb +11 -0
  1282. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_london.rb +143 -0
  1283. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_melbourne.rb +142 -0
  1284. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_new_york.rb +142 -0
  1285. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_offset.rb +126 -0
  1286. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_period.rb +548 -0
  1287. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_proxy.rb +113 -0
  1288. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_transition.rb +352 -0
  1289. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_transition_definition.rb +284 -0
  1290. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_utc.rb +27 -0
  1291. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_transition_data_timezone_info.rb +423 -0
  1292. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_zoneinfo_country_info.rb +64 -0
  1293. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_zoneinfo_data_source.rb +1122 -0
  1294. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_zoneinfo_timezone_info.rb +814 -0
  1295. data/vendor/bundle/gems/tzinfo-1.2.2/test/test_utils.rb +132 -0
  1296. data/vendor/bundle/gems/tzinfo-1.2.2/test/ts_all.rb +7 -0
  1297. data/vendor/bundle/gems/tzinfo-1.2.2/test/ts_all_ruby.rb +5 -0
  1298. data/vendor/bundle/gems/tzinfo-1.2.2/test/ts_all_zoneinfo.rb +7 -0
  1299. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data.rb +8 -0
  1300. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  1301. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +315 -0
  1302. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +218 -0
  1303. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/EST.rb +19 -0
  1304. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  1305. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  1306. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  1307. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +261 -0
  1308. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +186 -0
  1309. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +321 -0
  1310. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +265 -0
  1311. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +220 -0
  1312. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +16 -0
  1313. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/indexes/countries.rb +927 -0
  1314. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +596 -0
  1315. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/version.rb +14 -0
  1316. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  1317. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/America/New_York +0 -0
  1318. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Australia/Melbourne +0 -0
  1319. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/EST +0 -0
  1320. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Etc/UTC +0 -0
  1321. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/Amsterdam +0 -0
  1322. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/Andorra +0 -0
  1323. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/London +0 -0
  1324. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/Paris +0 -0
  1325. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/Prague +0 -0
  1326. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Factory +0 -0
  1327. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/iso3166.tab +275 -0
  1328. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/posix/Europe/London +0 -0
  1329. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/posixrules +0 -0
  1330. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/right/Europe/London +0 -0
  1331. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/zone.tab +439 -0
  1332. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/zone1970.tab +369 -0
  1333. data/vendor/bundle/gems/tzinfo-1.2.2/tzinfo.gemspec +21 -0
  1334. data/vendor/bundle/specifications/activesupport-5.0.2.gemspec +43 -0
  1335. data/vendor/bundle/specifications/coderay-1.1.1.gemspec +26 -0
  1336. data/vendor/bundle/specifications/concurrent-ruby-1.0.5.gemspec +23 -0
  1337. data/vendor/bundle/specifications/diff-lcs-1.3.gemspec +61 -0
  1338. data/vendor/bundle/specifications/i18n-0.8.1.gemspec +22 -0
  1339. data/vendor/bundle/specifications/method_source-0.8.2.gemspec +34 -0
  1340. data/vendor/bundle/specifications/minitest-5.10.1.gemspec +39 -0
  1341. data/vendor/bundle/specifications/pry-0.10.4.gemspec +43 -0
  1342. data/vendor/bundle/specifications/rake-10.5.0.gemspec +43 -0
  1343. data/vendor/bundle/specifications/rspec-3.5.0.gemspec +42 -0
  1344. data/vendor/bundle/specifications/rspec-core-3.5.4.gemspec +62 -0
  1345. data/vendor/bundle/specifications/rspec-expectations-3.5.0.gemspec +50 -0
  1346. data/vendor/bundle/specifications/rspec-mocks-3.5.0.gemspec +50 -0
  1347. data/vendor/bundle/specifications/rspec-support-3.5.0.gemspec +41 -0
  1348. data/vendor/bundle/specifications/slop-3.6.0.gemspec +36 -0
  1349. data/vendor/bundle/specifications/thread_safe-0.3.6.gemspec +38 -0
  1350. data/vendor/bundle/specifications/tzinfo-1.2.2.gemspec +37 -0
  1351. metadata +1467 -0
@@ -0,0 +1,2058 @@
1
+ # encoding: UTF-8
2
+
3
+ require "pathname"
4
+ require "minitest/metametameta"
5
+
6
+ module MyModule; end
7
+ class AnError < StandardError; include MyModule; end
8
+ class ImmutableString < String; def inspect; super.freeze; end; end
9
+ SomeError = Class.new Exception
10
+
11
+ class TestMinitestUnit < MetaMetaMetaTestCase
12
+ parallelize_me!
13
+
14
+ pwd = Pathname.new File.expand_path Dir.pwd
15
+ basedir = Pathname.new(File.expand_path "lib/minitest") + "mini"
16
+ basedir = basedir.relative_path_from(pwd).to_s
17
+ MINITEST_BASE_DIR = basedir[/\A\./] ? basedir : "./#{basedir}"
18
+ BT_MIDDLE = ["#{MINITEST_BASE_DIR}/test.rb:161:in `each'",
19
+ "#{MINITEST_BASE_DIR}/test.rb:158:in `each'",
20
+ "#{MINITEST_BASE_DIR}/test.rb:139:in `run'",
21
+ "#{MINITEST_BASE_DIR}/test.rb:106:in `run'"]
22
+
23
+ def test_filter_backtrace
24
+ # this is a semi-lame mix of relative paths.
25
+ # I cheated by making the autotest parts not have ./
26
+ bt = (["lib/autotest.rb:571:in `add_exception'",
27
+ "test/test_autotest.rb:62:in `test_add_exception'",
28
+ "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
29
+ BT_MIDDLE +
30
+ ["#{MINITEST_BASE_DIR}/test.rb:29",
31
+ "test/test_autotest.rb:422"])
32
+ bt = util_expand_bt bt
33
+
34
+ ex = ["lib/autotest.rb:571:in `add_exception'",
35
+ "test/test_autotest.rb:62:in `test_add_exception'"]
36
+ ex = util_expand_bt ex
37
+
38
+ fu = Minitest.filter_backtrace(bt)
39
+
40
+ assert_equal ex, fu
41
+ end
42
+
43
+ def test_filter_backtrace_all_unit
44
+ bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
45
+ BT_MIDDLE +
46
+ ["#{MINITEST_BASE_DIR}/test.rb:29"])
47
+ ex = bt.clone
48
+ fu = Minitest.filter_backtrace(bt)
49
+ assert_equal ex, fu
50
+ end
51
+
52
+ def test_filter_backtrace_unit_starts
53
+ bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
54
+ BT_MIDDLE +
55
+ ["#{MINITEST_BASE_DIR}/mini/test.rb:29",
56
+ "-e:1"])
57
+
58
+ bt = util_expand_bt bt
59
+
60
+ ex = ["-e:1"]
61
+ fu = Minitest.filter_backtrace bt
62
+ assert_equal ex, fu
63
+ end
64
+
65
+ # def test_default_runner_is_minitest_unit
66
+ # assert_instance_of Minitest::Unit, Minitest::Unit.runner
67
+ # end
68
+
69
+ def test_passed_eh_teardown_good
70
+ test_class = Class.new FakeNamedTest do
71
+ def teardown; assert true; end
72
+ def test_omg; assert true; end
73
+ end
74
+
75
+ test = test_class.new :test_omg
76
+ test.run
77
+ assert test.passed?
78
+ end
79
+
80
+ def test_passed_eh_teardown_skipped
81
+ test_class = Class.new FakeNamedTest do
82
+ def teardown; assert true; end
83
+ def test_omg; skip "bork"; end
84
+ end
85
+
86
+ test = test_class.new :test_omg
87
+ test.run
88
+
89
+ assert test.skipped?
90
+ refute test.passed?
91
+ end
92
+
93
+ def test_passed_eh_teardown_flunked
94
+ test_class = Class.new FakeNamedTest do
95
+ def teardown; flunk; end
96
+ def test_omg; assert true; end
97
+ end
98
+
99
+ test = test_class.new :test_omg
100
+ test.run
101
+ refute test.passed?
102
+ end
103
+
104
+ def util_expand_bt bt
105
+ if RUBY_VERSION >= "1.9.0" then
106
+ bt.map { |f| (f =~ /^\./) ? File.expand_path(f) : f }
107
+ else
108
+ bt
109
+ end
110
+ end
111
+ end
112
+
113
+ class TestMinitestUnitInherited < MetaMetaMetaTestCase
114
+ def with_overridden_include
115
+ Class.class_eval do
116
+ def inherited_with_hacks _klass
117
+ throw :inherited_hook
118
+ end
119
+
120
+ alias inherited_without_hacks inherited
121
+ alias inherited inherited_with_hacks
122
+ alias IGNORE_ME! inherited # 1.8 bug. god I love venture bros
123
+ end
124
+
125
+ yield
126
+ ensure
127
+ Class.class_eval do
128
+ alias inherited inherited_without_hacks
129
+
130
+ undef_method :inherited_with_hacks
131
+ undef_method :inherited_without_hacks
132
+ end
133
+
134
+ refute_respond_to Class, :inherited_with_hacks
135
+ refute_respond_to Class, :inherited_without_hacks
136
+ end
137
+
138
+ def test_inherited_hook_plays_nice_with_others
139
+ with_overridden_include do
140
+ assert_throws :inherited_hook do
141
+ Class.new FakeNamedTest
142
+ end
143
+ end
144
+ end
145
+ end
146
+
147
+ class TestMinitestRunner < MetaMetaMetaTestCase
148
+ # do not parallelize this suite... it just can't handle it.
149
+
150
+ def test_class_runnables
151
+ @assertion_count = 0
152
+
153
+ tc = Class.new(Minitest::Test)
154
+
155
+ assert_equal 1, Minitest::Test.runnables.size
156
+ assert_equal [tc], Minitest::Test.runnables
157
+ end
158
+
159
+ def test_run_test
160
+ @tu =
161
+ Class.new FakeNamedTest do
162
+ attr_reader :foo
163
+
164
+ def run
165
+ @foo = "hi mom!"
166
+ super
167
+ @foo = "okay"
168
+
169
+ self # per contract
170
+ end
171
+
172
+ def test_something
173
+ assert_equal "hi mom!", foo
174
+ end
175
+ end
176
+
177
+ expected = clean <<-EOM
178
+ .
179
+
180
+ Finished in 0.00
181
+
182
+ 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
183
+ EOM
184
+
185
+ assert_report expected
186
+ end
187
+
188
+ def test_run_error
189
+ @tu =
190
+ Class.new FakeNamedTest do
191
+ def test_something
192
+ assert true
193
+ end
194
+
195
+ def test_error
196
+ raise "unhandled exception"
197
+ end
198
+ end
199
+
200
+ expected = clean <<-EOM
201
+ E.
202
+
203
+ Finished in 0.00
204
+
205
+ 1) Error:
206
+ #<Class:0xXXX>#test_error:
207
+ RuntimeError: unhandled exception
208
+ FILE:LINE:in \`test_error\'
209
+
210
+ 2 runs, 1 assertions, 0 failures, 1 errors, 0 skips
211
+ EOM
212
+
213
+ assert_report expected
214
+ end
215
+
216
+ def test_run_error_teardown
217
+ @tu =
218
+ Class.new FakeNamedTest do
219
+ def test_something
220
+ assert true
221
+ end
222
+
223
+ def teardown
224
+ raise "unhandled exception"
225
+ end
226
+ end
227
+
228
+ expected = clean <<-EOM
229
+ E
230
+
231
+ Finished in 0.00
232
+
233
+ 1) Error:
234
+ #<Class:0xXXX>#test_something:
235
+ RuntimeError: unhandled exception
236
+ FILE:LINE:in \`teardown\'
237
+
238
+ 1 runs, 1 assertions, 0 failures, 1 errors, 0 skips
239
+ EOM
240
+
241
+ assert_report expected
242
+ end
243
+
244
+ def test_run_failing
245
+ setup_basic_tu
246
+
247
+ expected = clean <<-EOM
248
+ F.
249
+
250
+ Finished in 0.00
251
+
252
+ 1) Failure:
253
+ #<Class:0xXXX>#test_failure [FILE:LINE]:
254
+ Expected false to be truthy.
255
+
256
+ 2 runs, 2 assertions, 1 failures, 0 errors, 0 skips
257
+ EOM
258
+
259
+ assert_report expected
260
+ end
261
+
262
+ def setup_basic_tu
263
+ @tu =
264
+ Class.new FakeNamedTest do
265
+ def test_something
266
+ assert true
267
+ end
268
+
269
+ def test_failure
270
+ assert false
271
+ end
272
+ end
273
+ end
274
+
275
+ def test_run_failing_filtered
276
+ setup_basic_tu
277
+
278
+ expected = clean <<-EOM
279
+ .
280
+
281
+ Finished in 0.00
282
+
283
+ 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
284
+ EOM
285
+
286
+ assert_report expected, %w[--name /some|thing/ --seed 42]
287
+ end
288
+
289
+ def assert_filtering filter, name, expected, a = false
290
+ args = %W[--#{filter} #{name} --seed 42]
291
+
292
+ alpha = Class.new FakeNamedTest do
293
+ define_method :test_something do
294
+ assert a
295
+ end
296
+ end
297
+ Object.const_set(:Alpha, alpha)
298
+
299
+ beta = Class.new FakeNamedTest do
300
+ define_method :test_something do
301
+ assert true
302
+ end
303
+ end
304
+ Object.const_set(:Beta, beta)
305
+
306
+ @tus = [alpha, beta]
307
+
308
+ assert_report expected, args
309
+ ensure
310
+ Object.send :remove_const, :Alpha
311
+ Object.send :remove_const, :Beta
312
+ end
313
+
314
+ def test_run_filtered_including_suite_name
315
+ expected = clean <<-EOM
316
+ .
317
+
318
+ Finished in 0.00
319
+
320
+ 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
321
+ EOM
322
+
323
+ assert_filtering "name", "/Beta#test_something/", expected
324
+ end
325
+
326
+ def test_run_filtered_including_suite_name_string
327
+ expected = clean <<-EOM
328
+ .
329
+
330
+ Finished in 0.00
331
+
332
+ 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
333
+ EOM
334
+
335
+ assert_filtering "name", "Beta#test_something", expected
336
+ end
337
+
338
+ def test_run_filtered_string_method_only
339
+ expected = clean <<-EOM
340
+ ..
341
+
342
+ Finished in 0.00
343
+
344
+ 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips
345
+ EOM
346
+
347
+ assert_filtering "name", "test_something", expected, :pass
348
+ end
349
+
350
+ def test_run_failing_excluded
351
+ setup_basic_tu
352
+
353
+ expected = clean <<-EOM
354
+ .
355
+
356
+ Finished in 0.00
357
+
358
+ 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
359
+ EOM
360
+
361
+ assert_report expected, %w[--exclude /failure/ --seed 42]
362
+ end
363
+
364
+ def test_run_filtered_excluding_suite_name
365
+ expected = clean <<-EOM
366
+ .
367
+
368
+ Finished in 0.00
369
+
370
+ 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
371
+ EOM
372
+
373
+ assert_filtering "exclude", "/Alpha#test_something/", expected
374
+ end
375
+
376
+ def test_run_filtered_excluding_suite_name_string
377
+ expected = clean <<-EOM
378
+ .
379
+
380
+ Finished in 0.00
381
+
382
+ 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
383
+ EOM
384
+
385
+ assert_filtering "exclude", "Alpha#test_something", expected
386
+ end
387
+
388
+ def test_run_filtered_excluding_string_method_only
389
+ expected = clean <<-EOM
390
+
391
+
392
+ Finished in 0.00
393
+
394
+ 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
395
+ EOM
396
+
397
+ assert_filtering "exclude", "test_something", expected, :pass
398
+ end
399
+
400
+ def test_run_passing
401
+ @tu =
402
+ Class.new FakeNamedTest do
403
+ def test_something
404
+ assert true
405
+ end
406
+ end
407
+
408
+ expected = clean <<-EOM
409
+ .
410
+
411
+ Finished in 0.00
412
+
413
+ 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
414
+ EOM
415
+
416
+ assert_report expected
417
+ end
418
+
419
+ def test_run_skip
420
+ @tu =
421
+ Class.new FakeNamedTest do
422
+ def test_something
423
+ assert true
424
+ end
425
+
426
+ def test_skip
427
+ skip "not yet"
428
+ end
429
+ end
430
+
431
+ expected = clean <<-EOM
432
+ S.
433
+
434
+ Finished in 0.00
435
+
436
+ 2 runs, 1 assertions, 0 failures, 0 errors, 1 skips
437
+
438
+ You have skipped tests. Run with --verbose for details.
439
+ EOM
440
+
441
+ restore_env do
442
+ assert_report expected
443
+ end
444
+ end
445
+
446
+ def test_run_skip_verbose
447
+ @tu =
448
+ Class.new FakeNamedTest do
449
+ def test_something
450
+ assert true
451
+ end
452
+
453
+ def test_skip
454
+ skip "not yet"
455
+ end
456
+ end
457
+
458
+ expected = clean <<-EOM
459
+ #<Class:0xXXX>#test_skip = 0.00 s = S
460
+ #<Class:0xXXX>#test_something = 0.00 s = .
461
+
462
+ Finished in 0.00
463
+
464
+ 1) Skipped:
465
+ #<Class:0xXXX>#test_skip [FILE:LINE]:
466
+ not yet
467
+
468
+ 2 runs, 1 assertions, 0 failures, 0 errors, 1 skips
469
+ EOM
470
+
471
+ assert_report expected, %w[--seed 42 --verbose]
472
+ end
473
+
474
+ def test_run_with_other_runner
475
+ @tu =
476
+ Class.new FakeNamedTest do
477
+ def self.run reporter, options = {}
478
+ @reporter = reporter
479
+ before_my_suite
480
+ super
481
+ end
482
+
483
+ def self.name; "wacky!" end
484
+
485
+ def self.before_my_suite
486
+ @reporter.io.puts "Running #{self.name} tests"
487
+ @@foo = 1
488
+ end
489
+
490
+ def test_something
491
+ assert_equal 1, @@foo
492
+ end
493
+
494
+ def test_something_else
495
+ assert_equal 1, @@foo
496
+ end
497
+ end
498
+
499
+ expected = clean <<-EOM
500
+ Running wacky! tests
501
+ ..
502
+
503
+ Finished in 0.00
504
+
505
+ 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips
506
+ EOM
507
+
508
+ assert_report expected
509
+ end
510
+
511
+ require "monitor"
512
+
513
+ class Latch
514
+ def initialize count = 1
515
+ @count = count
516
+ @lock = Monitor.new
517
+ @cv = @lock.new_cond
518
+ end
519
+
520
+ def release
521
+ @lock.synchronize do
522
+ @count -= 1 if @count > 0
523
+ @cv.broadcast if @count == 0
524
+ end
525
+ end
526
+
527
+ def await
528
+ @lock.synchronize { @cv.wait_while { @count > 0 } }
529
+ end
530
+ end
531
+
532
+ def test_run_parallel
533
+ skip "I don't have ParallelEach debugged yet" if maglev?
534
+
535
+ test_count = 2
536
+ test_latch = Latch.new test_count
537
+ wait_latch = Latch.new test_count
538
+ main_latch = Latch.new
539
+
540
+ thread = Thread.new {
541
+ Thread.current.abort_on_exception = true
542
+
543
+ # This latch waits until both test latches have been released. Both
544
+ # latches can't be released unless done in separate threads because
545
+ # `main_latch` keeps the test method from finishing.
546
+ test_latch.await
547
+ main_latch.release
548
+ }
549
+
550
+ @tu =
551
+ Class.new FakeNamedTest do
552
+ parallelize_me!
553
+
554
+ test_count.times do |i|
555
+ define_method :"test_wait_on_main_thread_#{i}" do
556
+ test_latch.release
557
+
558
+ # This latch blocks until the "main thread" releases it. The main
559
+ # thread can't release this latch until both test latches have
560
+ # been released. This forces the latches to be released in separate
561
+ # threads.
562
+ main_latch.await
563
+ assert true
564
+ end
565
+ end
566
+ end
567
+
568
+ expected = clean <<-EOM
569
+ ..
570
+
571
+ Finished in 0.00
572
+
573
+ 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips
574
+ EOM
575
+
576
+ assert_report(expected) do |reporter|
577
+ reporter.extend(Module.new {
578
+ define_method("record") do |result|
579
+ super(result)
580
+ wait_latch.release
581
+ end
582
+
583
+ define_method("report") do
584
+ wait_latch.await
585
+ super()
586
+ end
587
+ })
588
+ end
589
+ assert thread.join
590
+ end
591
+ end
592
+
593
+ class TestMinitestUnitOrder < MetaMetaMetaTestCase
594
+ # do not parallelize this suite... it just can't handle it.
595
+
596
+ def test_before_setup
597
+ call_order = []
598
+ @tu =
599
+ Class.new FakeNamedTest do
600
+ define_method :setup do
601
+ super()
602
+ call_order << :setup
603
+ end
604
+
605
+ define_method :before_setup do
606
+ call_order << :before_setup
607
+ end
608
+
609
+ def test_omg; assert true; end
610
+ end
611
+
612
+ run_tu_with_fresh_reporter
613
+
614
+ expected = [:before_setup, :setup]
615
+ assert_equal expected, call_order
616
+ end
617
+
618
+ def test_after_teardown
619
+ call_order = []
620
+ @tu =
621
+ Class.new FakeNamedTest do
622
+ define_method :teardown do
623
+ super()
624
+ call_order << :teardown
625
+ end
626
+
627
+ define_method :after_teardown do
628
+ call_order << :after_teardown
629
+ end
630
+
631
+ def test_omg; assert true; end
632
+ end
633
+
634
+ run_tu_with_fresh_reporter
635
+
636
+ expected = [:teardown, :after_teardown]
637
+ assert_equal expected, call_order
638
+ end
639
+
640
+ def test_all_teardowns_are_guaranteed_to_run
641
+ call_order = []
642
+ @tu =
643
+ Class.new FakeNamedTest do
644
+ define_method :after_teardown do
645
+ super()
646
+ call_order << :after_teardown
647
+ raise
648
+ end
649
+
650
+ define_method :teardown do
651
+ super()
652
+ call_order << :teardown
653
+ raise
654
+ end
655
+
656
+ define_method :before_teardown do
657
+ super()
658
+ call_order << :before_teardown
659
+ raise
660
+ end
661
+
662
+ def test_omg; assert true; end
663
+ end
664
+
665
+ run_tu_with_fresh_reporter
666
+
667
+ expected = [:before_teardown, :teardown, :after_teardown]
668
+ assert_equal expected, call_order
669
+ end
670
+
671
+ def test_setup_and_teardown_survive_inheritance
672
+ call_order = []
673
+
674
+ @tu = Class.new FakeNamedTest do
675
+ define_method :setup do
676
+ call_order << :setup_method
677
+ end
678
+
679
+ define_method :teardown do
680
+ call_order << :teardown_method
681
+ end
682
+
683
+ define_method :test_something do
684
+ call_order << :test
685
+ end
686
+ end
687
+
688
+ run_tu_with_fresh_reporter
689
+
690
+ @tu = Class.new @tu
691
+ run_tu_with_fresh_reporter
692
+
693
+ # Once for the parent class, once for the child
694
+ expected = [:setup_method, :test, :teardown_method] * 2
695
+
696
+ assert_equal expected, call_order
697
+ end
698
+ end
699
+
700
+ class TestMinitestRunnable < Minitest::Test
701
+ def setup_marshal klass
702
+ tc = klass.new "whatever"
703
+ tc.assertions = 42
704
+ tc.failures << "a failure"
705
+
706
+ yield tc if block_given?
707
+
708
+ def tc.setup
709
+ @blah = "blah"
710
+ end
711
+ tc.setup
712
+
713
+ @tc = tc
714
+ end
715
+
716
+ def assert_marshal expected_ivars
717
+ new_tc = Marshal.load Marshal.dump @tc
718
+
719
+ ivars = new_tc.instance_variables.map(&:to_s).sort
720
+ assert_equal expected_ivars, ivars
721
+ assert_equal "whatever", new_tc.name
722
+ assert_equal 42, new_tc.assertions
723
+ assert_equal ["a failure"], new_tc.failures
724
+
725
+ yield new_tc if block_given?
726
+ end
727
+
728
+ def test_marshal
729
+ setup_marshal Minitest::Runnable
730
+
731
+ assert_marshal %w[@NAME @assertions @failures]
732
+ end
733
+ end
734
+
735
+ class TestMinitestTest < TestMinitestRunnable
736
+ def test_dup
737
+ setup_marshal Minitest::Test do |tc|
738
+ tc.time = 3.14
739
+ end
740
+
741
+ assert_marshal %w[@NAME @assertions @failures @time] do |new_tc|
742
+ assert_in_epsilon 3.14, new_tc.time
743
+ end
744
+ end
745
+ end
746
+
747
+ class TestMinitestUnitTestCase < Minitest::Test
748
+ # do not call parallelize_me! - teardown accesses @tc._assertions
749
+ # which is not threadsafe. Nearly every method in here is an
750
+ # assertion test so it isn't worth splitting it out further.
751
+
752
+ RUBY18 = !defined? Encoding
753
+
754
+ def setup
755
+ super
756
+
757
+ Minitest::Test.reset
758
+
759
+ @tc = Minitest::Test.new "fake tc"
760
+ @zomg = "zomg ponies!"
761
+ @assertion_count = 1
762
+ end
763
+
764
+ def teardown
765
+ assert_equal(@assertion_count, @tc.assertions,
766
+ "expected #{@assertion_count} assertions to be fired during the test, not #{@tc.assertions}") if @tc.passed?
767
+ end
768
+
769
+ def non_verbose
770
+ orig_verbose = $VERBOSE
771
+ $VERBOSE = false
772
+
773
+ yield
774
+ ensure
775
+ $VERBOSE = orig_verbose
776
+ end
777
+
778
+ def test_assert
779
+ @assertion_count = 2
780
+
781
+ @tc.assert_equal true, @tc.assert(true), "returns true on success"
782
+ end
783
+
784
+ def test_assert__triggered
785
+ assert_triggered "Expected false to be truthy." do
786
+ @tc.assert false
787
+ end
788
+ end
789
+
790
+ def test_assert__triggered_message
791
+ assert_triggered @zomg do
792
+ @tc.assert false, @zomg
793
+ end
794
+ end
795
+
796
+ def test_assert_empty
797
+ @assertion_count = 2
798
+
799
+ @tc.assert_empty []
800
+ end
801
+
802
+ def test_assert_empty_triggered
803
+ @assertion_count = 2
804
+
805
+ assert_triggered "Expected [1] to be empty." do
806
+ @tc.assert_empty [1]
807
+ end
808
+ end
809
+
810
+ def test_assert_equal
811
+ @tc.assert_equal 1, 1
812
+ end
813
+
814
+ def test_assert_equal_different_collection_array_hex_invisible
815
+ object1 = Object.new
816
+ object2 = Object.new
817
+ msg = "No visible difference in the Array#inspect output.
818
+ You should look at the implementation of #== on Array or its members.
819
+ [#<Object:0xXXXXXX>]".gsub(/^ +/, "")
820
+ assert_triggered msg do
821
+ @tc.assert_equal [object1], [object2]
822
+ end
823
+ end
824
+
825
+ def test_assert_equal_different_collection_hash_hex_invisible
826
+ h1, h2 = {}, {}
827
+ h1[1] = Object.new
828
+ h2[1] = Object.new
829
+ msg = "No visible difference in the Hash#inspect output.
830
+ You should look at the implementation of #== on Hash or its members.
831
+ {1=>#<Object:0xXXXXXX>}".gsub(/^ +/, "")
832
+
833
+ assert_triggered msg do
834
+ @tc.assert_equal h1, h2
835
+ end
836
+ end
837
+
838
+ def test_assert_equal_string_encodings
839
+ msg = <<-EOM.gsub(/^ {10}/, "")
840
+ --- expected
841
+ +++ actual
842
+ @@ -1 +1,2 @@
843
+ +# encoding: ASCII-8BIT
844
+ "bad-utf8-\\xF1.txt"
845
+ EOM
846
+
847
+ assert_triggered msg do
848
+ x = "bad-utf8-\xF1.txt"
849
+ y = x.dup.force_encoding "binary" # TODO: switch to .b when 1.9 dropped
850
+ @tc.assert_equal x, y
851
+ end
852
+ end unless RUBY18
853
+
854
+ def test_assert_equal_string_encodings_both_different
855
+ msg = <<-EOM.gsub(/^ {10}/, "")
856
+ --- expected
857
+ +++ actual
858
+ @@ -1,2 +1,2 @@
859
+ -# encoding: US-ASCII
860
+ +# encoding: ASCII-8BIT
861
+ "bad-utf8-\\xF1.txt"
862
+ EOM
863
+
864
+ assert_triggered msg do
865
+ x = "bad-utf8-\xF1.txt".force_encoding "ASCII"
866
+ y = x.dup.force_encoding "binary" # TODO: switch to .b when 1.9 dropped
867
+ @tc.assert_equal x, y
868
+ end
869
+ end unless RUBY18
870
+
871
+ def test_assert_equal_different_diff_deactivated
872
+ skip "https://github.com/MagLev/maglev/issues/209" if maglev?
873
+
874
+ without_diff do
875
+ assert_triggered util_msg("haha" * 10, "blah" * 10) do
876
+ o1 = "haha" * 10
877
+ o2 = "blah" * 10
878
+
879
+ @tc.assert_equal o1, o2
880
+ end
881
+ end
882
+ end
883
+
884
+ def test_assert_equal_different_hex
885
+ c = Class.new do
886
+ def initialize s; @name = s; end
887
+ end
888
+
889
+ o1 = c.new "a"
890
+ o2 = c.new "b"
891
+ msg = "--- expected
892
+ +++ actual
893
+ @@ -1 +1 @@
894
+ -#<#<Class:0xXXXXXX>:0xXXXXXX @name=\"a\">
895
+ +#<#<Class:0xXXXXXX>:0xXXXXXX @name=\"b\">
896
+ ".gsub(/^ +/, "")
897
+
898
+ assert_triggered msg do
899
+ @tc.assert_equal o1, o2
900
+ end
901
+ end
902
+
903
+ def test_assert_equal_different_hex_invisible
904
+ o1 = Object.new
905
+ o2 = Object.new
906
+
907
+ msg = "No visible difference in the Object#inspect output.
908
+ You should look at the implementation of #== on Object or its members.
909
+ #<Object:0xXXXXXX>".gsub(/^ +/, "")
910
+
911
+ assert_triggered msg do
912
+ @tc.assert_equal o1, o2
913
+ end
914
+ end
915
+
916
+ def test_assert_equal_different_long
917
+ msg = "--- expected
918
+ +++ actual
919
+ @@ -1 +1 @@
920
+ -\"hahahahahahahahahahahahahahahahahahahaha\"
921
+ +\"blahblahblahblahblahblahblahblahblahblah\"
922
+ ".gsub(/^ +/, "")
923
+
924
+ assert_triggered msg do
925
+ o1 = "haha" * 10
926
+ o2 = "blah" * 10
927
+
928
+ @tc.assert_equal o1, o2
929
+ end
930
+ end
931
+
932
+ def test_assert_equal_different_long_invisible
933
+ msg = "No visible difference in the String#inspect output.
934
+ You should look at the implementation of #== on String or its members.
935
+ \"blahblahblahblahblahblahblahblahblahblah\"".gsub(/^ +/, "")
936
+
937
+ assert_triggered msg do
938
+ o1 = "blah" * 10
939
+ o2 = "blah" * 10
940
+ def o1.== _
941
+ false
942
+ end
943
+ @tc.assert_equal o1, o2
944
+ end
945
+ end
946
+
947
+ def test_assert_equal_different_long_msg
948
+ msg = "message.
949
+ --- expected
950
+ +++ actual
951
+ @@ -1 +1 @@
952
+ -\"hahahahahahahahahahahahahahahahahahahaha\"
953
+ +\"blahblahblahblahblahblahblahblahblahblah\"
954
+ ".gsub(/^ +/, "")
955
+
956
+ assert_triggered msg do
957
+ o1 = "haha" * 10
958
+ o2 = "blah" * 10
959
+ @tc.assert_equal o1, o2, "message"
960
+ end
961
+ end
962
+
963
+ def test_assert_equal_different_short
964
+ assert_triggered util_msg(1, 2) do
965
+ @tc.assert_equal 1, 2
966
+ end
967
+ end
968
+
969
+ def test_assert_equal_different_short_msg
970
+ assert_triggered util_msg(1, 2, "message") do
971
+ @tc.assert_equal 1, 2, "message"
972
+ end
973
+ end
974
+
975
+ def test_assert_equal_different_short_multiline
976
+ msg = "--- expected\n+++ actual\n@@ -1,2 +1,2 @@\n \"a\n-b\"\n+c\"\n"
977
+ assert_triggered msg do
978
+ @tc.assert_equal "a\nb", "a\nc"
979
+ end
980
+ end
981
+
982
+ def test_assert_equal_does_not_allow_lhs_nil
983
+ if Minitest::VERSION =~ /^6/ then
984
+ warn "Time to strip the MT5 test"
985
+
986
+ @assertion_count += 1
987
+ assert_triggered(/Use assert_nil if expecting nil/) do
988
+ @tc.assert_equal nil, nil
989
+ end
990
+ else
991
+ err_re = /Use assert_nil if expecting nil from .*test_minitest_test.rb/
992
+
993
+ assert_output "", err_re do
994
+ @tc.assert_equal nil, nil
995
+ end
996
+ end
997
+ end
998
+
999
+ def test_assert_equal_does_not_allow_lhs_nil_triggered
1000
+ assert_triggered "Expected: nil\n Actual: false" do
1001
+ @tc.assert_equal nil, false
1002
+ end
1003
+ end
1004
+
1005
+ def test_assert_in_delta
1006
+ @tc.assert_in_delta 0.0, 1.0 / 1000, 0.1
1007
+ end
1008
+
1009
+ def test_delta_consistency
1010
+ @assertion_count = 2
1011
+
1012
+ @tc.assert_in_delta 0, 1, 1
1013
+
1014
+ assert_triggered "Expected |0 - 1| (1) to not be <= 1." do
1015
+ @tc.refute_in_delta 0, 1, 1
1016
+ end
1017
+ end
1018
+
1019
+ def test_assert_in_delta_triggered
1020
+ x = maglev? ? "9.999999xxxe-07" : "1.0e-06"
1021
+ assert_triggered "Expected |0.0 - 0.001| (0.001) to be <= #{x}." do
1022
+ @tc.assert_in_delta 0.0, 1.0 / 1000, 0.000001
1023
+ end
1024
+ end
1025
+
1026
+ def test_assert_in_epsilon
1027
+ @assertion_count = 10
1028
+
1029
+ @tc.assert_in_epsilon 10_000, 9991
1030
+ @tc.assert_in_epsilon 9991, 10_000
1031
+ @tc.assert_in_epsilon 1.0, 1.001
1032
+ @tc.assert_in_epsilon 1.001, 1.0
1033
+
1034
+ @tc.assert_in_epsilon 10_000, 9999.1, 0.0001
1035
+ @tc.assert_in_epsilon 9999.1, 10_000, 0.0001
1036
+ @tc.assert_in_epsilon 1.0, 1.0001, 0.0001
1037
+ @tc.assert_in_epsilon 1.0001, 1.0, 0.0001
1038
+
1039
+ @tc.assert_in_epsilon(-1, -1)
1040
+ @tc.assert_in_epsilon(-10_000, -9991)
1041
+ end
1042
+
1043
+ def test_epsilon_consistency
1044
+ @assertion_count = 2
1045
+
1046
+ @tc.assert_in_epsilon 1.0, 1.001
1047
+
1048
+ msg = "Expected |1.0 - 1.001| (0.000999xxx) to not be <= 0.001."
1049
+ assert_triggered msg do
1050
+ @tc.refute_in_epsilon 1.0, 1.001
1051
+ end
1052
+ end
1053
+
1054
+ def test_assert_in_epsilon_triggered
1055
+ assert_triggered "Expected |10000 - 9990| (10) to be <= 9.99." do
1056
+ @tc.assert_in_epsilon 10_000, 9990
1057
+ end
1058
+ end
1059
+
1060
+ def test_assert_in_epsilon_triggered_negative_case
1061
+ x = (RUBY18 and not maglev?) ? "0.1" : "0.100000xxx"
1062
+ y = maglev? ? "0.100000xxx" : "0.1"
1063
+ assert_triggered "Expected |-1.1 - -1| (#{x}) to be <= #{y}." do
1064
+ @tc.assert_in_epsilon(-1.1, -1, 0.1)
1065
+ end
1066
+ end
1067
+
1068
+ def test_assert_includes
1069
+ @assertion_count = 2
1070
+
1071
+ @tc.assert_includes [true], true
1072
+ end
1073
+
1074
+ def test_assert_includes_triggered
1075
+ @assertion_count = 3
1076
+
1077
+ e = @tc.assert_raises Minitest::Assertion do
1078
+ @tc.assert_includes [true], false
1079
+ end
1080
+
1081
+ expected = "Expected [true] to include false."
1082
+ assert_equal expected, e.message
1083
+ end
1084
+
1085
+ def test_assert_instance_of
1086
+ @tc.assert_instance_of String, "blah"
1087
+ end
1088
+
1089
+ def test_assert_instance_of_triggered
1090
+ assert_triggered 'Expected "blah" to be an instance of Array, not String.' do
1091
+ @tc.assert_instance_of Array, "blah"
1092
+ end
1093
+ end
1094
+
1095
+ def test_assert_kind_of
1096
+ @tc.assert_kind_of String, "blah"
1097
+ end
1098
+
1099
+ def test_assert_kind_of_triggered
1100
+ assert_triggered 'Expected "blah" to be a kind of Array, not String.' do
1101
+ @tc.assert_kind_of Array, "blah"
1102
+ end
1103
+ end
1104
+
1105
+ def test_assert_match
1106
+ @assertion_count = 2
1107
+ @tc.assert_match(/\w+/, "blah blah blah")
1108
+ end
1109
+
1110
+ def test_assert_match_matcher_object
1111
+ @assertion_count = 2
1112
+
1113
+ pattern = Object.new
1114
+ def pattern.=~ _; true end
1115
+
1116
+ @tc.assert_match pattern, 5
1117
+ end
1118
+
1119
+ def test_assert_match_matchee_to_str
1120
+ @assertion_count = 2
1121
+
1122
+ obj = Object.new
1123
+ def obj.to_str; "blah" end
1124
+
1125
+ @tc.assert_match "blah", obj
1126
+ end
1127
+
1128
+ def test_assert_match_object_triggered
1129
+ @assertion_count = 2
1130
+
1131
+ pattern = Object.new
1132
+ def pattern.=~ _; false end
1133
+ def pattern.inspect; "[Object]" end
1134
+
1135
+ assert_triggered "Expected [Object] to match 5." do
1136
+ @tc.assert_match pattern, 5
1137
+ end
1138
+ end
1139
+
1140
+ def test_assert_match_triggered
1141
+ @assertion_count = 2
1142
+ assert_triggered 'Expected /\d+/ to match "blah blah blah".' do
1143
+ @tc.assert_match(/\d+/, "blah blah blah")
1144
+ end
1145
+ end
1146
+
1147
+ def test_assert_nil
1148
+ @tc.assert_nil nil
1149
+ end
1150
+
1151
+ def test_assert_nil_triggered
1152
+ assert_triggered "Expected 42 to be nil." do
1153
+ @tc.assert_nil 42
1154
+ end
1155
+ end
1156
+
1157
+ def test_assert_operator
1158
+ @tc.assert_operator 2, :>, 1
1159
+ end
1160
+
1161
+ def test_assert_operator_bad_object
1162
+ bad = Object.new
1163
+ def bad.== _; true end
1164
+
1165
+ @tc.assert_operator bad, :equal?, bad
1166
+ end
1167
+
1168
+ def test_assert_operator_triggered
1169
+ assert_triggered "Expected 2 to be < 1." do
1170
+ @tc.assert_operator 2, :<, 1
1171
+ end
1172
+ end
1173
+
1174
+ def test_assert_output_both
1175
+ @assertion_count = 2
1176
+
1177
+ @tc.assert_output "yay", "blah" do
1178
+ print "yay"
1179
+ $stderr.print "blah"
1180
+ end
1181
+ end
1182
+
1183
+ def test_assert_output_both_regexps
1184
+ @assertion_count = 4
1185
+
1186
+ @tc.assert_output(/y.y/, /bl.h/) do
1187
+ print "yay"
1188
+ $stderr.print "blah"
1189
+ end
1190
+ end
1191
+
1192
+ def test_assert_output_err
1193
+ @tc.assert_output nil, "blah" do
1194
+ $stderr.print "blah"
1195
+ end
1196
+ end
1197
+
1198
+ def test_assert_output_neither
1199
+ @assertion_count = 0
1200
+
1201
+ @tc.assert_output do
1202
+ # do nothing
1203
+ end
1204
+ end
1205
+
1206
+ def test_assert_output_out
1207
+ @tc.assert_output "blah" do
1208
+ print "blah"
1209
+ end
1210
+ end
1211
+
1212
+ def test_assert_output_triggered_both
1213
+ assert_triggered util_msg("blah", "blah blah", "In stderr") do
1214
+ @tc.assert_output "yay", "blah" do
1215
+ print "boo"
1216
+ $stderr.print "blah blah"
1217
+ end
1218
+ end
1219
+ end
1220
+
1221
+ def test_assert_output_triggered_err
1222
+ assert_triggered util_msg("blah", "blah blah", "In stderr") do
1223
+ @tc.assert_output nil, "blah" do
1224
+ $stderr.print "blah blah"
1225
+ end
1226
+ end
1227
+ end
1228
+
1229
+ def test_assert_output_triggered_out
1230
+ assert_triggered util_msg("blah", "blah blah", "In stdout") do
1231
+ @tc.assert_output "blah" do
1232
+ print "blah blah"
1233
+ end
1234
+ end
1235
+ end
1236
+
1237
+ def test_assert_predicate
1238
+ @tc.assert_predicate "", :empty?
1239
+ end
1240
+
1241
+ def test_assert_predicate_triggered
1242
+ assert_triggered 'Expected "blah" to be empty?.' do
1243
+ @tc.assert_predicate "blah", :empty?
1244
+ end
1245
+ end
1246
+
1247
+ def test_assert_raises
1248
+ @tc.assert_raises RuntimeError do
1249
+ raise "blah"
1250
+ end
1251
+ end
1252
+
1253
+ def test_assert_raises_default
1254
+ @tc.assert_raises do
1255
+ raise StandardError, "blah"
1256
+ end
1257
+ end
1258
+
1259
+ def test_assert_raises_default_triggered
1260
+ e = assert_raises Minitest::Assertion do
1261
+ @tc.assert_raises do
1262
+ raise SomeError, "blah"
1263
+ end
1264
+ end
1265
+
1266
+ expected = clean <<-EOM.chomp
1267
+ [StandardError] exception expected, not
1268
+ Class: <SomeError>
1269
+ Message: <\"blah\">
1270
+ ---Backtrace---
1271
+ FILE:LINE:in \`test_assert_raises_default_triggered\'
1272
+ ---------------
1273
+ EOM
1274
+
1275
+ actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
1276
+ actual.gsub!(/block \(\d+ levels\) in /, "") if RUBY_VERSION >= "1.9.0"
1277
+
1278
+ assert_equal expected, actual
1279
+ end
1280
+
1281
+ def test_assert_raises_module
1282
+ @tc.assert_raises MyModule do
1283
+ raise AnError
1284
+ end
1285
+ end
1286
+
1287
+ ##
1288
+ # *sigh* This is quite an odd scenario, but it is from real (albeit
1289
+ # ugly) test code in ruby-core:
1290
+ #
1291
+ # http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29259
1292
+
1293
+ def test_assert_raises_skip
1294
+ @assertion_count = 0
1295
+
1296
+ assert_triggered "skipped", Minitest::Skip do
1297
+ @tc.assert_raises ArgumentError do
1298
+ begin
1299
+ raise "blah"
1300
+ rescue
1301
+ skip "skipped"
1302
+ end
1303
+ end
1304
+ end
1305
+ end
1306
+
1307
+ def test_assert_raises_triggered_different
1308
+ e = assert_raises Minitest::Assertion do
1309
+ @tc.assert_raises RuntimeError do
1310
+ raise SyntaxError, "icky"
1311
+ end
1312
+ end
1313
+
1314
+ expected = clean <<-EOM.chomp
1315
+ [RuntimeError] exception expected, not
1316
+ Class: <SyntaxError>
1317
+ Message: <\"icky\">
1318
+ ---Backtrace---
1319
+ FILE:LINE:in \`test_assert_raises_triggered_different\'
1320
+ ---------------
1321
+ EOM
1322
+
1323
+ actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
1324
+ actual.gsub!(/block \(\d+ levels\) in /, "") if RUBY_VERSION >= "1.9.0"
1325
+
1326
+ assert_equal expected, actual
1327
+ end
1328
+
1329
+ def test_assert_raises_triggered_different_msg
1330
+ e = assert_raises Minitest::Assertion do
1331
+ @tc.assert_raises RuntimeError, "XXX" do
1332
+ raise SyntaxError, "icky"
1333
+ end
1334
+ end
1335
+
1336
+ expected = clean <<-EOM
1337
+ XXX.
1338
+ [RuntimeError] exception expected, not
1339
+ Class: <SyntaxError>
1340
+ Message: <\"icky\">
1341
+ ---Backtrace---
1342
+ FILE:LINE:in \`test_assert_raises_triggered_different_msg\'
1343
+ ---------------
1344
+ EOM
1345
+
1346
+ actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
1347
+ actual.gsub!(/block \(\d+ levels\) in /, "") if RUBY_VERSION >= "1.9.0"
1348
+
1349
+ assert_equal expected.chomp, actual
1350
+ end
1351
+
1352
+ def test_assert_raises_triggered_none
1353
+ e = assert_raises Minitest::Assertion do
1354
+ @tc.assert_raises Minitest::Assertion do
1355
+ # do nothing
1356
+ end
1357
+ end
1358
+
1359
+ expected = "Minitest::Assertion expected but nothing was raised."
1360
+
1361
+ assert_equal expected, e.message
1362
+ end
1363
+
1364
+ def test_assert_raises_triggered_none_msg
1365
+ e = assert_raises Minitest::Assertion do
1366
+ @tc.assert_raises Minitest::Assertion, "XXX" do
1367
+ # do nothing
1368
+ end
1369
+ end
1370
+
1371
+ expected = "XXX.\nMinitest::Assertion expected but nothing was raised."
1372
+
1373
+ assert_equal expected, e.message
1374
+ end
1375
+
1376
+ def test_assert_raises_subclass
1377
+ @tc.assert_raises StandardError do
1378
+ raise AnError
1379
+ end
1380
+ end
1381
+
1382
+ def test_assert_raises_subclass_triggered
1383
+ e = assert_raises Minitest::Assertion do
1384
+ @tc.assert_raises SomeError do
1385
+ raise AnError, "some message"
1386
+ end
1387
+ end
1388
+
1389
+ expected = clean <<-EOM
1390
+ [SomeError] exception expected, not
1391
+ Class: <AnError>
1392
+ Message: <\"some message\">
1393
+ ---Backtrace---
1394
+ FILE:LINE:in \`test_assert_raises_subclass_triggered\'
1395
+ ---------------
1396
+ EOM
1397
+
1398
+ actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
1399
+ actual.gsub!(/block \(\d+ levels\) in /, "") if RUBY_VERSION >= "1.9.0"
1400
+
1401
+ assert_equal expected.chomp, actual
1402
+ end
1403
+
1404
+ def test_assert_raises_exit
1405
+ @tc.assert_raises SystemExit do
1406
+ exit 1
1407
+ end
1408
+ end
1409
+
1410
+ def test_assert_raises_signals
1411
+ @tc.assert_raises SignalException do
1412
+ raise SignalException, :INT
1413
+ end
1414
+ end
1415
+
1416
+ def test_assert_respond_to
1417
+ @tc.assert_respond_to "blah", :empty?
1418
+ end
1419
+
1420
+ def test_assert_respond_to_triggered
1421
+ assert_triggered 'Expected "blah" (String) to respond to #rawr!.' do
1422
+ @tc.assert_respond_to "blah", :rawr!
1423
+ end
1424
+ end
1425
+
1426
+ def test_assert_same
1427
+ @assertion_count = 3
1428
+
1429
+ o = "blah"
1430
+ @tc.assert_same 1, 1
1431
+ @tc.assert_same :blah, :blah
1432
+ @tc.assert_same o, o
1433
+ end
1434
+
1435
+ def test_assert_same_triggered
1436
+ @assertion_count = 2
1437
+
1438
+ assert_triggered "Expected 2 (oid=N) to be the same as 1 (oid=N)." do
1439
+ @tc.assert_same 1, 2
1440
+ end
1441
+
1442
+ s1 = "blah"
1443
+ s2 = "blah"
1444
+
1445
+ assert_triggered 'Expected "blah" (oid=N) to be the same as "blah" (oid=N).' do
1446
+ @tc.assert_same s1, s2
1447
+ end
1448
+ end
1449
+
1450
+ def assert_deprecated name
1451
+ dep = /DEPRECATED: #{name}. From #{__FILE__}:\d+:.*?/
1452
+ assert_output nil, dep do
1453
+ yield
1454
+ end
1455
+ end
1456
+
1457
+ def test_assert_send
1458
+ assert_deprecated :assert_send do
1459
+ @tc.assert_send [1, :<, 2]
1460
+ end
1461
+ end
1462
+
1463
+ def test_assert_send_bad
1464
+ assert_deprecated :assert_send do
1465
+ assert_triggered "Expected 1.>(*[2]) to return true." do
1466
+ @tc.assert_send [1, :>, 2]
1467
+ end
1468
+ end
1469
+ end
1470
+
1471
+ def test_assert_silent
1472
+ @assertion_count = 2
1473
+
1474
+ @tc.assert_silent do
1475
+ # do nothing
1476
+ end
1477
+ end
1478
+
1479
+ def test_assert_silent_triggered_err
1480
+ assert_triggered util_msg("", "blah blah", "In stderr") do
1481
+ @tc.assert_silent do
1482
+ $stderr.print "blah blah"
1483
+ end
1484
+ end
1485
+ end
1486
+
1487
+ def test_assert_silent_triggered_out
1488
+ @assertion_count = 2
1489
+
1490
+ assert_triggered util_msg("", "blah blah", "In stdout") do
1491
+ @tc.assert_silent do
1492
+ print "blah blah"
1493
+ end
1494
+ end
1495
+ end
1496
+
1497
+ def test_assert_throws
1498
+ @tc.assert_throws :blah do
1499
+ throw :blah
1500
+ end
1501
+ end
1502
+
1503
+ def test_assert_throws_name_error
1504
+ @tc.assert_raises NameError do
1505
+ @tc.assert_throws :blah do
1506
+ raise NameError
1507
+ end
1508
+ end
1509
+ end
1510
+
1511
+ def test_assert_throws_argument_exception
1512
+ @tc.assert_raises ArgumentError do
1513
+ @tc.assert_throws :blah do
1514
+ raise ArgumentError
1515
+ end
1516
+ end
1517
+ end
1518
+
1519
+ def test_assert_throws_different
1520
+ assert_triggered "Expected :blah to have been thrown, not :not_blah." do
1521
+ @tc.assert_throws :blah do
1522
+ throw :not_blah
1523
+ end
1524
+ end
1525
+ end
1526
+
1527
+ def test_assert_throws_unthrown
1528
+ assert_triggered "Expected :blah to have been thrown." do
1529
+ @tc.assert_throws :blah do
1530
+ # do nothing
1531
+ end
1532
+ end
1533
+ end
1534
+
1535
+ def test_capture_io
1536
+ @assertion_count = 0
1537
+
1538
+ non_verbose do
1539
+ out, err = capture_io do
1540
+ puts "hi"
1541
+ $stderr.puts "bye!"
1542
+ end
1543
+
1544
+ assert_equal "hi\n", out
1545
+ assert_equal "bye!\n", err
1546
+ end
1547
+ end
1548
+
1549
+ def test_capture_subprocess_io
1550
+ @assertion_count = 0
1551
+
1552
+ non_verbose do
1553
+ out, err = capture_subprocess_io do
1554
+ system("echo hi")
1555
+ system("echo bye! 1>&2")
1556
+ end
1557
+
1558
+ assert_equal "hi\n", out
1559
+ assert_equal "bye!", err.strip
1560
+ end
1561
+ end
1562
+
1563
+ def test_class_asserts_match_refutes
1564
+ @assertion_count = 0
1565
+
1566
+ methods = Minitest::Assertions.public_instance_methods
1567
+ methods.map!(&:to_s) if Symbol === methods.first
1568
+
1569
+ # These don't have corresponding refutes _on purpose_. They're
1570
+ # useless and will never be added, so don't bother.
1571
+ ignores = %w[assert_output assert_raises assert_send
1572
+ assert_silent assert_throws assert_mock]
1573
+
1574
+ # These are test/unit methods. I'm not actually sure why they're still here
1575
+ ignores += %w[assert_no_match assert_not_equal assert_not_nil
1576
+ assert_not_same assert_nothing_raised
1577
+ assert_nothing_thrown assert_raise]
1578
+
1579
+ asserts = methods.grep(/^assert/).sort - ignores
1580
+ refutes = methods.grep(/^refute/).sort - ignores
1581
+
1582
+ assert_empty refutes.map { |n| n.sub(/^refute/, "assert") } - asserts
1583
+ assert_empty asserts.map { |n| n.sub(/^assert/, "refute") } - refutes
1584
+ end
1585
+
1586
+ def test_flunk
1587
+ assert_triggered "Epic Fail!" do
1588
+ @tc.flunk
1589
+ end
1590
+ end
1591
+
1592
+ def test_flunk_message
1593
+ assert_triggered @zomg do
1594
+ @tc.flunk @zomg
1595
+ end
1596
+ end
1597
+
1598
+ def test_message
1599
+ @assertion_count = 0
1600
+
1601
+ assert_equal "blah2.", @tc.message { "blah2" }.call
1602
+ assert_equal "blah2.", @tc.message("") { "blah2" }.call
1603
+ assert_equal "blah1.\nblah2.", @tc.message(:blah1) { "blah2" }.call
1604
+ assert_equal "blah1.\nblah2.", @tc.message("blah1") { "blah2" }.call
1605
+
1606
+ message = proc { "blah1" }
1607
+ assert_equal "blah1.\nblah2.", @tc.message(message) { "blah2" }.call
1608
+
1609
+ message = @tc.message { "blah1" }
1610
+ assert_equal "blah1.\nblah2.", @tc.message(message) { "blah2" }.call
1611
+ end
1612
+
1613
+ def test_message_message
1614
+ assert_triggered "whoops.\nExpected: 1\n Actual: 2" do
1615
+ @tc.assert_equal 1, 2, message { "whoops" }
1616
+ end
1617
+ end
1618
+
1619
+ def test_message_lambda
1620
+ assert_triggered "whoops.\nExpected: 1\n Actual: 2" do
1621
+ @tc.assert_equal 1, 2, lambda { "whoops" }
1622
+ end
1623
+ end
1624
+
1625
+ def test_message_deferred
1626
+ @assertion_count, var = 0, nil
1627
+
1628
+ msg = message { var = "blah" }
1629
+
1630
+ assert_nil var
1631
+
1632
+ msg.call
1633
+
1634
+ assert_equal "blah", var
1635
+ end
1636
+
1637
+ def test_pass
1638
+ @tc.pass
1639
+ end
1640
+
1641
+ def test_prints
1642
+ printer = Class.new { extend Minitest::Assertions }
1643
+ @tc.assert_equal '"test"', printer.mu_pp(ImmutableString.new "test")
1644
+ end
1645
+
1646
+ def test_refute
1647
+ @assertion_count = 2
1648
+
1649
+ @tc.assert_equal false, @tc.refute(false), "returns false on success"
1650
+ end
1651
+
1652
+ def test_refute_empty
1653
+ @assertion_count = 2
1654
+
1655
+ @tc.refute_empty [1]
1656
+ end
1657
+
1658
+ def test_refute_empty_triggered
1659
+ @assertion_count = 2
1660
+
1661
+ assert_triggered "Expected [] to not be empty." do
1662
+ @tc.refute_empty []
1663
+ end
1664
+ end
1665
+
1666
+ def test_refute_equal
1667
+ @tc.refute_equal "blah", "yay"
1668
+ end
1669
+
1670
+ def test_refute_equal_triggered
1671
+ assert_triggered 'Expected "blah" to not be equal to "blah".' do
1672
+ @tc.refute_equal "blah", "blah"
1673
+ end
1674
+ end
1675
+
1676
+ def test_refute_in_delta
1677
+ @tc.refute_in_delta 0.0, 1.0 / 1000, 0.000001
1678
+ end
1679
+
1680
+ def test_refute_in_delta_triggered
1681
+ x = maglev? ? "0.100000xxx" : "0.1"
1682
+ assert_triggered "Expected |0.0 - 0.001| (0.001) to not be <= #{x}." do
1683
+ @tc.refute_in_delta 0.0, 1.0 / 1000, 0.1
1684
+ end
1685
+ end
1686
+
1687
+ def test_refute_in_epsilon
1688
+ @tc.refute_in_epsilon 10_000, 9990-1
1689
+ end
1690
+
1691
+ def test_refute_in_epsilon_triggered
1692
+ assert_triggered "Expected |10000 - 9990| (10) to not be <= 10.0." do
1693
+ @tc.refute_in_epsilon 10_000, 9990
1694
+ flunk
1695
+ end
1696
+ end
1697
+
1698
+ def test_refute_includes
1699
+ @assertion_count = 2
1700
+
1701
+ @tc.refute_includes [true], false
1702
+ end
1703
+
1704
+ def test_refute_includes_triggered
1705
+ @assertion_count = 3
1706
+
1707
+ e = @tc.assert_raises Minitest::Assertion do
1708
+ @tc.refute_includes [true], true
1709
+ end
1710
+
1711
+ expected = "Expected [true] to not include true."
1712
+ assert_equal expected, e.message
1713
+ end
1714
+
1715
+ def test_refute_instance_of
1716
+ @tc.refute_instance_of Array, "blah"
1717
+ end
1718
+
1719
+ def test_refute_instance_of_triggered
1720
+ assert_triggered 'Expected "blah" to not be an instance of String.' do
1721
+ @tc.refute_instance_of String, "blah"
1722
+ end
1723
+ end
1724
+
1725
+ def test_refute_kind_of
1726
+ @tc.refute_kind_of Array, "blah"
1727
+ end
1728
+
1729
+ def test_refute_kind_of_triggered
1730
+ assert_triggered 'Expected "blah" to not be a kind of String.' do
1731
+ @tc.refute_kind_of String, "blah"
1732
+ end
1733
+ end
1734
+
1735
+ def test_refute_match
1736
+ @assertion_count = 2
1737
+ @tc.refute_match(/\d+/, "blah blah blah")
1738
+ end
1739
+
1740
+ def test_refute_match_matcher_object
1741
+ @assertion_count = 2
1742
+ @tc.refute_match Object.new, 5 # default #=~ returns false
1743
+ end
1744
+
1745
+ def test_refute_match_object_triggered
1746
+ @assertion_count = 2
1747
+
1748
+ pattern = Object.new
1749
+ def pattern.=~ _; true end
1750
+ def pattern.inspect; "[Object]" end
1751
+
1752
+ assert_triggered "Expected [Object] to not match 5." do
1753
+ @tc.refute_match pattern, 5
1754
+ end
1755
+ end
1756
+
1757
+ def test_refute_match_triggered
1758
+ @assertion_count = 2
1759
+ assert_triggered 'Expected /\w+/ to not match "blah blah blah".' do
1760
+ @tc.refute_match(/\w+/, "blah blah blah")
1761
+ end
1762
+ end
1763
+
1764
+ def test_refute_nil
1765
+ @tc.refute_nil 42
1766
+ end
1767
+
1768
+ def test_refute_nil_triggered
1769
+ assert_triggered "Expected nil to not be nil." do
1770
+ @tc.refute_nil nil
1771
+ end
1772
+ end
1773
+
1774
+ def test_refute_predicate
1775
+ @tc.refute_predicate "42", :empty?
1776
+ end
1777
+
1778
+ def test_refute_predicate_triggered
1779
+ assert_triggered 'Expected "" to not be empty?.' do
1780
+ @tc.refute_predicate "", :empty?
1781
+ end
1782
+ end
1783
+
1784
+ def test_refute_operator
1785
+ @tc.refute_operator 2, :<, 1
1786
+ end
1787
+
1788
+ def test_refute_operator_bad_object
1789
+ bad = Object.new
1790
+ def bad.== _; true end
1791
+
1792
+ @tc.refute_operator true, :equal?, bad
1793
+ end
1794
+
1795
+ def test_refute_operator_triggered
1796
+ assert_triggered "Expected 2 to not be > 1." do
1797
+ @tc.refute_operator 2, :>, 1
1798
+ end
1799
+ end
1800
+
1801
+ def test_refute_respond_to
1802
+ @tc.refute_respond_to "blah", :rawr!
1803
+ end
1804
+
1805
+ def test_refute_respond_to_triggered
1806
+ assert_triggered 'Expected "blah" to not respond to empty?.' do
1807
+ @tc.refute_respond_to "blah", :empty?
1808
+ end
1809
+ end
1810
+
1811
+ def test_refute_same
1812
+ @tc.refute_same 1, 2
1813
+ end
1814
+
1815
+ def test_refute_same_triggered
1816
+ assert_triggered "Expected 1 (oid=N) to not be the same as 1 (oid=N)." do
1817
+ @tc.refute_same 1, 1
1818
+ end
1819
+ end
1820
+
1821
+ def test_skip
1822
+ @assertion_count = 0
1823
+
1824
+ assert_triggered "haha!", Minitest::Skip do
1825
+ @tc.skip "haha!"
1826
+ end
1827
+ end
1828
+
1829
+ def test_runnable_methods_random
1830
+ @assertion_count = 0
1831
+
1832
+ sample_test_case = Class.new FakeNamedTest do
1833
+ def self.test_order; :random; end
1834
+ def test_test1; assert "does not matter" end
1835
+ def test_test2; assert "does not matter" end
1836
+ def test_test3; assert "does not matter" end
1837
+ end
1838
+
1839
+ srand 42
1840
+ expected = case
1841
+ when maglev? then
1842
+ %w[test_test2 test_test3 test_test1]
1843
+ else
1844
+ %w[test_test2 test_test1 test_test3]
1845
+ end
1846
+ assert_equal expected, sample_test_case.runnable_methods
1847
+ end
1848
+
1849
+ def test_runnable_methods_sorted
1850
+ @assertion_count = 0
1851
+
1852
+ sample_test_case = Class.new FakeNamedTest do
1853
+ def self.test_order; :sorted end
1854
+ def test_test3; assert "does not matter" end
1855
+ def test_test2; assert "does not matter" end
1856
+ def test_test1; assert "does not matter" end
1857
+ end
1858
+
1859
+ expected = %w[test_test1 test_test2 test_test3]
1860
+ assert_equal expected, sample_test_case.runnable_methods
1861
+ end
1862
+
1863
+ def test_i_suck_and_my_tests_are_order_dependent_bang_sets_test_order_alpha
1864
+ @assertion_count = 0
1865
+
1866
+ shitty_test_case = Class.new FakeNamedTest
1867
+
1868
+ shitty_test_case.i_suck_and_my_tests_are_order_dependent!
1869
+
1870
+ assert_equal :alpha, shitty_test_case.test_order
1871
+ end
1872
+
1873
+ def test_i_suck_and_my_tests_are_order_dependent_bang_does_not_warn
1874
+ @assertion_count = 0
1875
+
1876
+ shitty_test_case = Class.new FakeNamedTest
1877
+
1878
+ def shitty_test_case.test_order; :lol end
1879
+
1880
+ assert_silent do
1881
+ shitty_test_case.i_suck_and_my_tests_are_order_dependent!
1882
+ end
1883
+ end
1884
+
1885
+ def assert_triggered expected, klass = Minitest::Assertion
1886
+ e = assert_raises klass do
1887
+ yield
1888
+ end
1889
+
1890
+ msg = e.message.sub(/(---Backtrace---).*/m, '\1')
1891
+ msg.gsub!(/\(oid=[-0-9]+\)/, "(oid=N)")
1892
+ msg.gsub!(/(\d\.\d{6})\d+/, '\1xxx') # normalize: ruby version, impl, platform
1893
+
1894
+ assert_msg = Regexp === expected ? :assert_match : :assert_equal
1895
+ self.send assert_msg, expected, msg
1896
+ end
1897
+
1898
+ def util_msg exp, act, msg = nil
1899
+ s = "Expected: #{exp.inspect}\n Actual: #{act.inspect}"
1900
+ s = "#{msg}.\n#{s}" if msg
1901
+ s
1902
+ end
1903
+
1904
+ def without_diff
1905
+ old_diff = Minitest::Assertions.diff
1906
+ Minitest::Assertions.diff = nil
1907
+
1908
+ yield
1909
+ ensure
1910
+ Minitest::Assertions.diff = old_diff
1911
+ end
1912
+ end
1913
+
1914
+ class TestMinitestGuard < Minitest::Test
1915
+ parallelize_me!
1916
+
1917
+ def test_mri_eh
1918
+ assert self.class.mri? "ruby blah"
1919
+ assert self.mri? "ruby blah"
1920
+ end
1921
+
1922
+ def test_jruby_eh
1923
+ assert self.class.jruby? "java"
1924
+ assert self.jruby? "java"
1925
+ end
1926
+
1927
+ def test_rubinius_eh
1928
+ assert self.class.rubinius? "rbx"
1929
+ assert self.rubinius? "rbx"
1930
+ end
1931
+
1932
+ def test_windows_eh
1933
+ assert self.class.windows? "mswin"
1934
+ assert self.windows? "mswin"
1935
+ end
1936
+ end
1937
+
1938
+ class TestMinitestUnitRecording < MetaMetaMetaTestCase
1939
+ # do not parallelize this suite... it just can't handle it.
1940
+
1941
+ def assert_run_record *expected, &block
1942
+ @tu = Class.new FakeNamedTest, &block
1943
+
1944
+ run_tu_with_fresh_reporter
1945
+
1946
+ recorded = first_reporter.results.map(&:failures).flatten.map { |f| f.error.class }
1947
+
1948
+ assert_equal expected, recorded
1949
+ end
1950
+
1951
+ def test_run_with_bogus_reporter
1952
+ # https://github.com/seattlerb/minitest/issues/659
1953
+ # TODO: remove test for minitest 6
1954
+ @tu = Class.new FakeNamedTest do
1955
+ def test_method
1956
+ assert true
1957
+ end
1958
+ end
1959
+
1960
+ self.reporter = Minitest::CompositeReporter.new
1961
+ reporter << Class.new do
1962
+ def start; end
1963
+ # def prerecord klass, name; end
1964
+ def record result; end
1965
+ def report; end
1966
+ def passed?; end
1967
+ def results; end
1968
+ end.new
1969
+
1970
+ Minitest::Runnable.runnables.delete @tu
1971
+
1972
+ @tu.run reporter, {}
1973
+ end
1974
+
1975
+ def test_record_passing
1976
+ assert_run_record do
1977
+ def test_method
1978
+ assert true
1979
+ end
1980
+ end
1981
+ end
1982
+
1983
+ def test_record_failing
1984
+ assert_run_record Minitest::Assertion do
1985
+ def test_method
1986
+ assert false
1987
+ end
1988
+ end
1989
+ end
1990
+
1991
+ def test_record_error
1992
+ assert_run_record RuntimeError do
1993
+ def test_method
1994
+ raise "unhandled exception"
1995
+ end
1996
+ end
1997
+ end
1998
+
1999
+ def test_record_error_teardown
2000
+ assert_run_record RuntimeError do
2001
+ def test_method
2002
+ assert true
2003
+ end
2004
+
2005
+ def teardown
2006
+ raise "unhandled exception"
2007
+ end
2008
+ end
2009
+ end
2010
+
2011
+ def test_record_error_in_test_and_teardown
2012
+ assert_run_record AnError, RuntimeError do
2013
+ def test_method
2014
+ raise AnError
2015
+ end
2016
+
2017
+ def teardown
2018
+ raise "unhandled exception"
2019
+ end
2020
+ end
2021
+ end
2022
+
2023
+ def test_to_s_error_in_test_and_teardown
2024
+ @tu = Class.new FakeNamedTest do
2025
+ def test_method
2026
+ raise AnError
2027
+ end
2028
+
2029
+ def teardown
2030
+ raise "unhandled exception"
2031
+ end
2032
+ end
2033
+
2034
+ run_tu_with_fresh_reporter
2035
+
2036
+ exp = clean "
2037
+ Error:
2038
+ #<Class:0xXXX>#test_method:
2039
+ AnError: AnError
2040
+ FILE:LINE:in `test_method'
2041
+
2042
+ Error:
2043
+ #<Class:0xXXX>#test_method:
2044
+ RuntimeError: unhandled exception
2045
+ FILE:LINE:in `teardown'
2046
+ "
2047
+
2048
+ assert_equal exp.strip, normalize_output(first_reporter.results.first.to_s).strip
2049
+ end
2050
+
2051
+ def test_record_skip
2052
+ assert_run_record Minitest::Skip do
2053
+ def test_method
2054
+ skip "not yet"
2055
+ end
2056
+ end
2057
+ end
2058
+ end