lazy_record 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1338) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/lazy_record.gemspec +6 -5
  4. data/lib/lazy_record/associations.rb +19 -15
  5. data/lib/lazy_record/base_module.rb +8 -10
  6. data/lib/lazy_record/relation.rb +15 -8
  7. data/lib/lazy_record/version.rb +1 -1
  8. metadata +2 -1332
  9. data/example/cat.rb +0 -5
  10. data/example/dog.rb +0 -12
  11. data/example/friend.rb +0 -5
  12. data/example/person.rb +0 -84
  13. data/vendor/bundle/bin/coderay +0 -22
  14. data/vendor/bundle/bin/htmldiff +0 -24
  15. data/vendor/bundle/bin/ldiff +0 -24
  16. data/vendor/bundle/bin/pry +0 -22
  17. data/vendor/bundle/bin/rake +0 -22
  18. data/vendor/bundle/bin/rspec +0 -22
  19. data/vendor/bundle/cache/activesupport-5.0.2.gem +0 -0
  20. data/vendor/bundle/cache/coderay-1.1.1.gem +0 -0
  21. data/vendor/bundle/cache/concurrent-ruby-1.0.5.gem +0 -0
  22. data/vendor/bundle/cache/diff-lcs-1.3.gem +0 -0
  23. data/vendor/bundle/cache/i18n-0.8.1.gem +0 -0
  24. data/vendor/bundle/cache/method_source-0.8.2.gem +0 -0
  25. data/vendor/bundle/cache/minitest-5.10.1.gem +0 -0
  26. data/vendor/bundle/cache/pry-0.10.4.gem +0 -0
  27. data/vendor/bundle/cache/rake-10.5.0.gem +0 -0
  28. data/vendor/bundle/cache/rspec-3.5.0.gem +0 -0
  29. data/vendor/bundle/cache/rspec-core-3.5.4.gem +0 -0
  30. data/vendor/bundle/cache/rspec-expectations-3.5.0.gem +0 -0
  31. data/vendor/bundle/cache/rspec-mocks-3.5.0.gem +0 -0
  32. data/vendor/bundle/cache/rspec-support-3.5.0.gem +0 -0
  33. data/vendor/bundle/cache/slop-3.6.0.gem +0 -0
  34. data/vendor/bundle/cache/thread_safe-0.3.6.gem +0 -0
  35. data/vendor/bundle/cache/tzinfo-1.2.2.gem +0 -0
  36. data/vendor/bundle/gems/activesupport-5.0.2/CHANGELOG.md +0 -922
  37. data/vendor/bundle/gems/activesupport-5.0.2/MIT-LICENSE +0 -20
  38. data/vendor/bundle/gems/activesupport-5.0.2/README.rdoc +0 -39
  39. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support.rb +0 -99
  40. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/all.rb +0 -3
  41. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/array_inquirer.rb +0 -44
  42. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/backtrace_cleaner.rb +0 -103
  43. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/benchmarkable.rb +0 -49
  44. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/builder.rb +0 -6
  45. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache.rb +0 -701
  46. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/file_store.rb +0 -204
  47. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/mem_cache_store.rb +0 -207
  48. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/memory_store.rb +0 -167
  49. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/null_store.rb +0 -41
  50. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/strategy/local_cache.rb +0 -172
  51. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/cache/strategy/local_cache_middleware.rb +0 -44
  52. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/callbacks.rb +0 -791
  53. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/concern.rb +0 -142
  54. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/concurrency/latch.rb +0 -26
  55. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/concurrency/share_lock.rb +0 -226
  56. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/configurable.rb +0 -148
  57. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext.rb +0 -4
  58. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array.rb +0 -7
  59. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/access.rb +0 -90
  60. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/conversions.rb +0 -211
  61. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/extract_options.rb +0 -29
  62. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/grouping.rb +0 -107
  63. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/inquiry.rb +0 -17
  64. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/prepend_and_append.rb +0 -7
  65. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/array/wrap.rb +0 -46
  66. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/benchmark.rb +0 -14
  67. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/big_decimal.rb +0 -1
  68. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/big_decimal/conversions.rb +0 -14
  69. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/class.rb +0 -2
  70. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/class/attribute.rb +0 -128
  71. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/class/attribute_accessors.rb +0 -4
  72. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/class/subclasses.rb +0 -41
  73. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date.rb +0 -5
  74. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/acts_like.rb +0 -8
  75. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/blank.rb +0 -12
  76. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/calculations.rb +0 -143
  77. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/conversions.rb +0 -95
  78. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date/zones.rb +0 -6
  79. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_and_time/calculations.rb +0 -335
  80. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_and_time/compatibility.rb +0 -22
  81. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_and_time/zones.rb +0 -40
  82. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time.rb +0 -5
  83. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/acts_like.rb +0 -14
  84. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/blank.rb +0 -12
  85. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/calculations.rb +0 -199
  86. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/compatibility.rb +0 -5
  87. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/date_time/conversions.rb +0 -105
  88. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/digest/uuid.rb +0 -51
  89. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/enumerable.rb +0 -124
  90. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/file.rb +0 -1
  91. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/file/atomic.rb +0 -68
  92. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash.rb +0 -9
  93. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/compact.rb +0 -24
  94. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/conversions.rb +0 -262
  95. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/deep_merge.rb +0 -38
  96. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/except.rb +0 -22
  97. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/indifferent_access.rb +0 -23
  98. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/keys.rb +0 -170
  99. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/reverse_merge.rb +0 -22
  100. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/slice.rb +0 -48
  101. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/hash/transform_values.rb +0 -29
  102. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/integer.rb +0 -3
  103. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/integer/inflections.rb +0 -29
  104. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/integer/multiple.rb +0 -10
  105. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/integer/time.rb +0 -29
  106. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel.rb +0 -4
  107. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/agnostics.rb +0 -11
  108. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/concern.rb +0 -12
  109. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/debugger.rb +0 -3
  110. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/reporting.rb +0 -43
  111. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/kernel/singleton_class.rb +0 -6
  112. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/load_error.rb +0 -31
  113. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/marshal.rb +0 -22
  114. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module.rb +0 -12
  115. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/aliasing.rb +0 -74
  116. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/anonymous.rb +0 -28
  117. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/attr_internal.rb +0 -36
  118. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/attribute_accessors.rb +0 -212
  119. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +0 -141
  120. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/concerning.rb +0 -135
  121. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/delegation.rb +0 -216
  122. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/deprecation.rb +0 -23
  123. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/introspection.rb +0 -68
  124. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/method_transplanting.rb +0 -3
  125. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/qualified_const.rb +0 -70
  126. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/reachable.rb +0 -8
  127. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/module/remove_method.rb +0 -35
  128. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/name_error.rb +0 -31
  129. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric.rb +0 -4
  130. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric/bytes.rb +0 -64
  131. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric/conversions.rb +0 -144
  132. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric/inquiry.rb +0 -26
  133. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/numeric/time.rb +0 -74
  134. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object.rb +0 -14
  135. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/acts_like.rb +0 -10
  136. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/blank.rb +0 -143
  137. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/conversions.rb +0 -4
  138. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/deep_dup.rb +0 -53
  139. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/duplicable.rb +0 -124
  140. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/inclusion.rb +0 -27
  141. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/instance_variables.rb +0 -28
  142. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/json.rb +0 -205
  143. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/to_param.rb +0 -1
  144. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/to_query.rb +0 -84
  145. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/try.rb +0 -146
  146. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/object/with_options.rb +0 -69
  147. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range.rb +0 -4
  148. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range/conversions.rb +0 -31
  149. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range/each.rb +0 -21
  150. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range/include_range.rb +0 -23
  151. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/range/overlaps.rb +0 -8
  152. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/regexp.rb +0 -5
  153. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/securerandom.rb +0 -23
  154. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string.rb +0 -13
  155. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/access.rb +0 -104
  156. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/behavior.rb +0 -6
  157. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/conversions.rb +0 -57
  158. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/exclude.rb +0 -11
  159. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/filters.rb +0 -102
  160. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/indent.rb +0 -43
  161. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/inflections.rb +0 -244
  162. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/inquiry.rb +0 -13
  163. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/multibyte.rb +0 -53
  164. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/output_safety.rb +0 -260
  165. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/starts_ends_with.rb +0 -4
  166. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/strip.rb +0 -23
  167. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/string/zones.rb +0 -14
  168. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/struct.rb +0 -3
  169. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time.rb +0 -5
  170. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/acts_like.rb +0 -8
  171. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/calculations.rb +0 -290
  172. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/compatibility.rb +0 -5
  173. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/conversions.rb +0 -67
  174. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/marshal.rb +0 -3
  175. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/time/zones.rb +0 -111
  176. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/core_ext/uri.rb +0 -24
  177. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb +0 -754
  178. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies/autoload.rb +0 -77
  179. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies/interlock.rb +0 -55
  180. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation.rb +0 -43
  181. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/behaviors.rb +0 -90
  182. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/instance_delegator.rb +0 -37
  183. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/method_wrappers.rb +0 -70
  184. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/proxy_wrappers.rb +0 -149
  185. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/deprecation/reporting.rb +0 -112
  186. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/descendants_tracker.rb +0 -60
  187. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/duration.rb +0 -182
  188. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/duration/iso8601_parser.rb +0 -122
  189. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/duration/iso8601_serializer.rb +0 -51
  190. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/evented_file_update_checker.rb +0 -194
  191. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb +0 -126
  192. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/executor.rb +0 -6
  193. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/file_update_checker.rb +0 -157
  194. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/gem_version.rb +0 -15
  195. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/gzip.rb +0 -36
  196. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/hash_with_indifferent_access.rb +0 -329
  197. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/i18n.rb +0 -13
  198. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/i18n_railtie.rb +0 -115
  199. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflections.rb +0 -70
  200. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflector.rb +0 -7
  201. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflector/inflections.rb +0 -242
  202. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflector/methods.rb +0 -390
  203. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/inflector/transliterate.rb +0 -112
  204. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/json.rb +0 -2
  205. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/json/decoding.rb +0 -74
  206. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/json/encoding.rb +0 -127
  207. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/key_generator.rb +0 -71
  208. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/lazy_load_hooks.rb +0 -56
  209. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/locale/en.yml +0 -135
  210. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/log_subscriber.rb +0 -109
  211. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/log_subscriber/test_helper.rb +0 -104
  212. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/logger.rb +0 -106
  213. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/logger_silence.rb +0 -28
  214. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/logger_thread_safe_level.rb +0 -31
  215. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/message_encryptor.rb +0 -114
  216. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/message_verifier.rb +0 -134
  217. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/multibyte.rb +0 -21
  218. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/multibyte/chars.rb +0 -231
  219. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/multibyte/unicode.rb +0 -413
  220. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/notifications.rb +0 -212
  221. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/notifications/fanout.rb +0 -157
  222. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/notifications/instrumenter.rb +0 -91
  223. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper.rb +0 -368
  224. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_converter.rb +0 -182
  225. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_currency_converter.rb +0 -44
  226. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_delimited_converter.rb +0 -28
  227. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_human_converter.rb +0 -68
  228. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_human_size_converter.rb +0 -62
  229. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_percentage_converter.rb +0 -12
  230. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_phone_converter.rb +0 -58
  231. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/number_helper/number_to_rounded_converter.rb +0 -92
  232. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/option_merger.rb +0 -25
  233. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/ordered_hash.rb +0 -48
  234. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/ordered_options.rb +0 -81
  235. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/per_thread_registry.rb +0 -58
  236. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/proxy_object.rb +0 -13
  237. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/rails.rb +0 -27
  238. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/railtie.rb +0 -51
  239. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/reloader.rb +0 -129
  240. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/rescuable.rb +0 -167
  241. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/security_utils.rb +0 -27
  242. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/string_inquirer.rb +0 -26
  243. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/subscriber.rb +0 -120
  244. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/tagged_logging.rb +0 -77
  245. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/test_case.rb +0 -88
  246. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/assertions.rb +0 -99
  247. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/autorun.rb +0 -9
  248. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/constant_lookup.rb +0 -50
  249. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/declarative.rb +0 -26
  250. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/deprecation.rb +0 -36
  251. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/file_fixtures.rb +0 -34
  252. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/isolation.rb +0 -115
  253. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/method_call_assertions.rb +0 -41
  254. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/setup_and_teardown.rb +0 -50
  255. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/stream.rb +0 -42
  256. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/tagged_logging.rb +0 -25
  257. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/testing/time_helpers.rb +0 -134
  258. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/time.rb +0 -18
  259. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/time_with_zone.rb +0 -500
  260. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/values/time_zone.rb +0 -474
  261. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/values/unicode_tables.dat +0 -0
  262. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/version.rb +0 -8
  263. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini.rb +0 -209
  264. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/jdom.rb +0 -181
  265. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/libxml.rb +0 -79
  266. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/libxmlsax.rb +0 -85
  267. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/nokogiri.rb +0 -83
  268. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/nokogirisax.rb +0 -87
  269. data/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/xml_mini/rexml.rb +0 -128
  270. data/vendor/bundle/gems/coderay-1.1.1/README_INDEX.rdoc +0 -123
  271. data/vendor/bundle/gems/coderay-1.1.1/Rakefile +0 -37
  272. data/vendor/bundle/gems/coderay-1.1.1/bin/coderay +0 -215
  273. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay.rb +0 -284
  274. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/duo.rb +0 -81
  275. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders.rb +0 -18
  276. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/_map.rb +0 -17
  277. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/comment_filter.rb +0 -25
  278. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/count.rb +0 -39
  279. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/debug.rb +0 -49
  280. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/debug_lint.rb +0 -63
  281. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/div.rb +0 -23
  282. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/encoder.rb +0 -190
  283. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/filter.rb +0 -58
  284. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/html.rb +0 -333
  285. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/html/css.rb +0 -65
  286. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/html/numbering.rb +0 -108
  287. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/html/output.rb +0 -166
  288. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/json.rb +0 -83
  289. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/lines_of_code.rb +0 -45
  290. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/lint.rb +0 -59
  291. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/null.rb +0 -18
  292. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/page.rb +0 -24
  293. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/span.rb +0 -23
  294. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/statistic.rb +0 -95
  295. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/terminal.rb +0 -195
  296. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/text.rb +0 -46
  297. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/token_kind_filter.rb +0 -111
  298. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/xml.rb +0 -72
  299. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/encoders/yaml.rb +0 -50
  300. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/for_redcloth.rb +0 -95
  301. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/helpers/file_type.rb +0 -151
  302. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/helpers/plugin.rb +0 -55
  303. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/helpers/plugin_host.rb +0 -221
  304. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/helpers/word_list.rb +0 -72
  305. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners.rb +0 -27
  306. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/_map.rb +0 -24
  307. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/c.rb +0 -189
  308. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/clojure.rb +0 -217
  309. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/cpp.rb +0 -215
  310. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/css.rb +0 -196
  311. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/debug.rb +0 -75
  312. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/delphi.rb +0 -144
  313. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/diff.rb +0 -221
  314. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/erb.rb +0 -81
  315. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/go.rb +0 -208
  316. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/groovy.rb +0 -268
  317. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/haml.rb +0 -168
  318. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/html.rb +0 -275
  319. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/java.rb +0 -174
  320. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/java/builtin_types.rb +0 -421
  321. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/java_script.rb +0 -237
  322. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/json.rb +0 -98
  323. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/lua.rb +0 -280
  324. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/php.rb +0 -527
  325. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/python.rb +0 -287
  326. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/raydebug.rb +0 -75
  327. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/ruby.rb +0 -477
  328. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/ruby/patterns.rb +0 -178
  329. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/ruby/string_state.rb +0 -79
  330. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/sass.rb +0 -232
  331. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/scanner.rb +0 -337
  332. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/sql.rb +0 -169
  333. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/taskpaper.rb +0 -36
  334. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/text.rb +0 -26
  335. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/xml.rb +0 -17
  336. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/scanners/yaml.rb +0 -140
  337. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/styles.rb +0 -15
  338. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/styles/_map.rb +0 -7
  339. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/styles/alpha.rb +0 -153
  340. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/styles/style.rb +0 -18
  341. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/token_kinds.rb +0 -85
  342. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/tokens.rb +0 -161
  343. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/tokens_proxy.rb +0 -55
  344. data/vendor/bundle/gems/coderay-1.1.1/lib/coderay/version.rb +0 -3
  345. data/vendor/bundle/gems/coderay-1.1.1/test/functional/basic.rb +0 -318
  346. data/vendor/bundle/gems/coderay-1.1.1/test/functional/examples.rb +0 -129
  347. data/vendor/bundle/gems/coderay-1.1.1/test/functional/for_redcloth.rb +0 -78
  348. data/vendor/bundle/gems/coderay-1.1.1/test/functional/suite.rb +0 -15
  349. data/vendor/bundle/gems/concurrent-ruby-1.0.5/CHANGELOG.md +0 -387
  350. data/vendor/bundle/gems/concurrent-ruby-1.0.5/LICENSE.txt +0 -21
  351. data/vendor/bundle/gems/concurrent-ruby-1.0.5/README.md +0 -247
  352. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent.rb +0 -130
  353. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/agent.rb +0 -587
  354. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/array.rb +0 -39
  355. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/async.rb +0 -445
  356. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atom.rb +0 -222
  357. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/abstract_thread_local_var.rb +0 -66
  358. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_boolean.rb +0 -122
  359. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_fixnum.rb +0 -139
  360. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_reference.rb +0 -51
  361. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/count_down_latch.rb +0 -100
  362. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/cyclic_barrier.rb +0 -128
  363. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb +0 -109
  364. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/java_count_down_latch.rb +0 -39
  365. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/java_thread_local_var.rb +0 -37
  366. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_atomic_boolean.rb +0 -60
  367. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_atomic_fixnum.rb +0 -75
  368. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_count_down_latch.rb +0 -43
  369. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_semaphore.rb +0 -115
  370. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/read_write_lock.rb +0 -253
  371. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/reentrant_read_write_lock.rb +0 -377
  372. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/ruby_thread_local_var.rb +0 -161
  373. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/semaphore.rb +0 -145
  374. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/thread_local_var.rb +0 -104
  375. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/concurrent_update_error.rb +0 -8
  376. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/direct_update.rb +0 -81
  377. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/jruby+truffle.rb +0 -2
  378. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/jruby.rb +0 -16
  379. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/mutex_atomic.rb +0 -61
  380. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/numeric_cas_wrapper.rb +0 -28
  381. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/rbx.rb +0 -22
  382. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/ruby.rb +0 -32
  383. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/atomics.rb +0 -53
  384. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/copy_on_notify_observer_set.rb +0 -107
  385. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/copy_on_write_observer_set.rb +0 -111
  386. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/java_non_concurrent_priority_queue.rb +0 -84
  387. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/atomic_reference_map_backend.rb +0 -927
  388. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/mri_map_backend.rb +0 -66
  389. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/non_concurrent_map_backend.rb +0 -141
  390. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/synchronized_map_backend.rb +0 -82
  391. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/non_concurrent_priority_queue.rb +0 -143
  392. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb +0 -150
  393. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/deprecation.rb +0 -34
  394. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/dereferenceable.rb +0 -73
  395. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/logging.rb +0 -27
  396. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb +0 -220
  397. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/observable.rb +0 -110
  398. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/configuration.rb +0 -188
  399. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/constants.rb +0 -8
  400. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/dataflow.rb +0 -80
  401. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/delay.rb +0 -197
  402. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/edge.rb +0 -26
  403. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/errors.rb +0 -69
  404. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/exchanger.rb +0 -356
  405. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/abstract_executor_service.rb +0 -134
  406. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/cached_thread_pool.rb +0 -62
  407. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/executor_service.rb +0 -185
  408. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/fixed_thread_pool.rb +0 -206
  409. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/immediate_executor.rb +0 -66
  410. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/indirect_immediate_executor.rb +0 -44
  411. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_executor_service.rb +0 -100
  412. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_single_thread_executor.rb +0 -29
  413. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_thread_pool_executor.rb +0 -120
  414. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_executor_service.rb +0 -78
  415. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_single_thread_executor.rb +0 -22
  416. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb +0 -362
  417. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb +0 -35
  418. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serial_executor_service.rb +0 -34
  419. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb +0 -107
  420. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution_delegator.rb +0 -28
  421. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/simple_executor_service.rb +0 -100
  422. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/single_thread_executor.rb +0 -56
  423. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/thread_pool_executor.rb +0 -87
  424. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/timer_set.rb +0 -175
  425. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executors.rb +0 -20
  426. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/future.rb +0 -138
  427. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/hash.rb +0 -36
  428. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/immutable_struct.rb +0 -93
  429. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/ivar.rb +0 -208
  430. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/lazy_register.rb +0 -81
  431. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/map.rb +0 -240
  432. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/maybe.rb +0 -229
  433. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/mutable_struct.rb +0 -228
  434. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/mvar.rb +0 -242
  435. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/options.rb +0 -42
  436. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/promise.rb +0 -547
  437. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/scheduled_task.rb +0 -318
  438. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/settable_struct.rb +0 -128
  439. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization.rb +0 -31
  440. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_lockable_object.rb +0 -98
  441. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_object.rb +0 -24
  442. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_struct.rb +0 -157
  443. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/condition.rb +0 -58
  444. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/jruby_lockable_object.rb +0 -13
  445. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/jruby_object.rb +0 -44
  446. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/lock.rb +0 -34
  447. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/lockable_object.rb +0 -74
  448. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb +0 -71
  449. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_object.rb +0 -43
  450. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/object.rb +0 -153
  451. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/rbx_lockable_object.rb +0 -65
  452. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/rbx_object.rb +0 -48
  453. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/truffle_lockable_object.rb +0 -9
  454. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/truffle_object.rb +0 -31
  455. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/volatile.rb +0 -34
  456. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/synchronized_delegator.rb +0 -50
  457. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util.rb +0 -16
  458. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/adder.rb +0 -74
  459. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/array_hash_rbx.rb +0 -30
  460. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/cheap_lockable.rb +0 -118
  461. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/power_of_two_tuple.rb +0 -38
  462. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/striped64.rb +0 -241
  463. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/volatile.rb +0 -75
  464. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/xor_shift_random.rb +0 -50
  465. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/timer_task.rb +0 -331
  466. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/tuple.rb +0 -86
  467. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/tvar.rb +0 -258
  468. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/at_exit.rb +0 -97
  469. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/engine.rb +0 -56
  470. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/monotonic_time.rb +0 -58
  471. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/native_extension_loader.rb +0 -73
  472. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/native_integer.rb +0 -53
  473. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/processor_counter.rb +0 -160
  474. data/vendor/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/version.rb +0 -4
  475. data/vendor/bundle/gems/diff-lcs-1.3/.rspec +0 -1
  476. data/vendor/bundle/gems/diff-lcs-1.3/Code-of-Conduct.md +0 -74
  477. data/vendor/bundle/gems/diff-lcs-1.3/Contributing.md +0 -83
  478. data/vendor/bundle/gems/diff-lcs-1.3/History.md +0 -220
  479. data/vendor/bundle/gems/diff-lcs-1.3/License.md +0 -39
  480. data/vendor/bundle/gems/diff-lcs-1.3/Manifest.txt +0 -37
  481. data/vendor/bundle/gems/diff-lcs-1.3/README.rdoc +0 -84
  482. data/vendor/bundle/gems/diff-lcs-1.3/Rakefile +0 -57
  483. data/vendor/bundle/gems/diff-lcs-1.3/autotest/discover.rb +0 -1
  484. data/vendor/bundle/gems/diff-lcs-1.3/bin/htmldiff +0 -32
  485. data/vendor/bundle/gems/diff-lcs-1.3/bin/ldiff +0 -6
  486. data/vendor/bundle/gems/diff-lcs-1.3/docs/COPYING.txt +0 -339
  487. data/vendor/bundle/gems/diff-lcs-1.3/docs/artistic.txt +0 -127
  488. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff-lcs.rb +0 -3
  489. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs.rb +0 -725
  490. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +0 -7
  491. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +0 -37
  492. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +0 -322
  493. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +0 -181
  494. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +0 -149
  495. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +0 -276
  496. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +0 -307
  497. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +0 -167
  498. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +0 -5
  499. data/vendor/bundle/gems/diff-lcs-1.3/spec/change_spec.rb +0 -65
  500. data/vendor/bundle/gems/diff-lcs-1.3/spec/diff_spec.rb +0 -47
  501. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +0 -50
  502. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +0 -51
  503. data/vendor/bundle/gems/diff-lcs-1.3/spec/hunk_spec.rb +0 -72
  504. data/vendor/bundle/gems/diff-lcs-1.3/spec/issues_spec.rb +0 -49
  505. data/vendor/bundle/gems/diff-lcs-1.3/spec/lcs_spec.rb +0 -56
  506. data/vendor/bundle/gems/diff-lcs-1.3/spec/ldiff_spec.rb +0 -47
  507. data/vendor/bundle/gems/diff-lcs-1.3/spec/patch_spec.rb +0 -422
  508. data/vendor/bundle/gems/diff-lcs-1.3/spec/sdiff_spec.rb +0 -214
  509. data/vendor/bundle/gems/diff-lcs-1.3/spec/spec_helper.rb +0 -321
  510. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +0 -310
  511. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +0 -139
  512. data/vendor/bundle/gems/i18n-0.8.1/MIT-LICENSE +0 -20
  513. data/vendor/bundle/gems/i18n-0.8.1/README.md +0 -84
  514. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-3.2.x +0 -9
  515. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-4.0.x +0 -9
  516. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-4.1.x +0 -9
  517. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-4.2.x +0 -9
  518. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-5.0.x +0 -9
  519. data/vendor/bundle/gems/i18n-0.8.1/gemfiles/Gemfile.rails-master +0 -9
  520. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n.rb +0 -343
  521. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend.rb +0 -18
  522. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/base.rb +0 -230
  523. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/cache.rb +0 -114
  524. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/cascade.rb +0 -54
  525. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/chain.rb +0 -97
  526. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/fallbacks.rb +0 -84
  527. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/flatten.rb +0 -113
  528. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/gettext.rb +0 -81
  529. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/interpolation_compiler.rb +0 -121
  530. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/key_value.rb +0 -100
  531. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/memoize.rb +0 -46
  532. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/metadata.rb +0 -69
  533. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/pluralization.rb +0 -53
  534. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/simple.rb +0 -87
  535. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/backend/transliterator.rb +0 -106
  536. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/config.rb +0 -142
  537. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/core_ext/hash.rb +0 -29
  538. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/core_ext/kernel/suppress_warnings.rb +0 -8
  539. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/core_ext/string/interpolate.rb +0 -9
  540. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/exceptions.rb +0 -104
  541. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/gettext.rb +0 -25
  542. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/gettext/helpers.rb +0 -73
  543. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/gettext/po_parser.rb +0 -329
  544. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/interpolate/ruby.rb +0 -37
  545. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale.rb +0 -6
  546. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/fallbacks.rb +0 -96
  547. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/tag.rb +0 -28
  548. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/tag/parents.rb +0 -22
  549. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/tag/rfc4646.rb +0 -74
  550. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/locale/tag/simple.rb +0 -39
  551. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests.rb +0 -12
  552. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/basics.rb +0 -60
  553. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/defaults.rb +0 -48
  554. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/interpolation.rb +0 -153
  555. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/link.rb +0 -56
  556. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization.rb +0 -19
  557. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization/date.rb +0 -95
  558. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization/date_time.rb +0 -82
  559. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization/procs.rb +0 -116
  560. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/localization/time.rb +0 -81
  561. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/lookup.rb +0 -81
  562. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/pluralization.rb +0 -35
  563. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/tests/procs.rb +0 -55
  564. data/vendor/bundle/gems/i18n-0.8.1/lib/i18n/version.rb +0 -3
  565. data/vendor/bundle/gems/i18n-0.8.1/test/api/all_features_test.rb +0 -58
  566. data/vendor/bundle/gems/i18n-0.8.1/test/api/cascade_test.rb +0 -28
  567. data/vendor/bundle/gems/i18n-0.8.1/test/api/chain_test.rb +0 -24
  568. data/vendor/bundle/gems/i18n-0.8.1/test/api/fallbacks_test.rb +0 -30
  569. data/vendor/bundle/gems/i18n-0.8.1/test/api/key_value_test.rb +0 -24
  570. data/vendor/bundle/gems/i18n-0.8.1/test/api/memoize_test.rb +0 -56
  571. data/vendor/bundle/gems/i18n-0.8.1/test/api/override_test.rb +0 -42
  572. data/vendor/bundle/gems/i18n-0.8.1/test/api/pluralization_test.rb +0 -30
  573. data/vendor/bundle/gems/i18n-0.8.1/test/api/simple_test.rb +0 -28
  574. data/vendor/bundle/gems/i18n-0.8.1/test/backend/cache_test.rb +0 -108
  575. data/vendor/bundle/gems/i18n-0.8.1/test/backend/cascade_test.rb +0 -86
  576. data/vendor/bundle/gems/i18n-0.8.1/test/backend/chain_test.rb +0 -91
  577. data/vendor/bundle/gems/i18n-0.8.1/test/backend/exceptions_test.rb +0 -36
  578. data/vendor/bundle/gems/i18n-0.8.1/test/backend/fallbacks_test.rb +0 -206
  579. data/vendor/bundle/gems/i18n-0.8.1/test/backend/interpolation_compiler_test.rb +0 -118
  580. data/vendor/bundle/gems/i18n-0.8.1/test/backend/key_value_test.rb +0 -43
  581. data/vendor/bundle/gems/i18n-0.8.1/test/backend/memoize_test.rb +0 -47
  582. data/vendor/bundle/gems/i18n-0.8.1/test/backend/metadata_test.rb +0 -48
  583. data/vendor/bundle/gems/i18n-0.8.1/test/backend/pluralization_test.rb +0 -45
  584. data/vendor/bundle/gems/i18n-0.8.1/test/backend/simple_test.rb +0 -84
  585. data/vendor/bundle/gems/i18n-0.8.1/test/backend/transliterator_test.rb +0 -84
  586. data/vendor/bundle/gems/i18n-0.8.1/test/core_ext/hash_test.rb +0 -42
  587. data/vendor/bundle/gems/i18n-0.8.1/test/gettext/api_test.rb +0 -214
  588. data/vendor/bundle/gems/i18n-0.8.1/test/gettext/backend_test.rb +0 -92
  589. data/vendor/bundle/gems/i18n-0.8.1/test/i18n/exceptions_test.rb +0 -114
  590. data/vendor/bundle/gems/i18n-0.8.1/test/i18n/interpolate_test.rb +0 -91
  591. data/vendor/bundle/gems/i18n-0.8.1/test/i18n/load_path_test.rb +0 -34
  592. data/vendor/bundle/gems/i18n-0.8.1/test/i18n_test.rb +0 -437
  593. data/vendor/bundle/gems/i18n-0.8.1/test/locale/fallbacks_test.rb +0 -133
  594. data/vendor/bundle/gems/i18n-0.8.1/test/locale/tag/rfc4646_test.rb +0 -143
  595. data/vendor/bundle/gems/i18n-0.8.1/test/locale/tag/simple_test.rb +0 -32
  596. data/vendor/bundle/gems/i18n-0.8.1/test/run_all.rb +0 -20
  597. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/de.po +0 -82
  598. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/en.rb +0 -3
  599. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/en.yml +0 -3
  600. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/invalid/empty.yml +0 -0
  601. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/invalid/syntax.yml +0 -4
  602. data/vendor/bundle/gems/i18n-0.8.1/test/test_data/locales/plurals.rb +0 -113
  603. data/vendor/bundle/gems/i18n-0.8.1/test/test_helper.rb +0 -55
  604. data/vendor/bundle/gems/method_source-0.8.2/.gemtest +0 -0
  605. data/vendor/bundle/gems/method_source-0.8.2/.travis.yml +0 -13
  606. data/vendor/bundle/gems/method_source-0.8.2/.yardopts +0 -1
  607. data/vendor/bundle/gems/method_source-0.8.2/Gemfile +0 -2
  608. data/vendor/bundle/gems/method_source-0.8.2/LICENSE +0 -25
  609. data/vendor/bundle/gems/method_source-0.8.2/README.markdown +0 -91
  610. data/vendor/bundle/gems/method_source-0.8.2/Rakefile +0 -79
  611. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source.rb +0 -141
  612. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source/code_helpers.rb +0 -154
  613. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source/source_location.rb +0 -138
  614. data/vendor/bundle/gems/method_source-0.8.2/lib/method_source/version.rb +0 -3
  615. data/vendor/bundle/gems/method_source-0.8.2/method_source.gemspec +0 -33
  616. data/vendor/bundle/gems/method_source-0.8.2/test/test.rb +0 -138
  617. data/vendor/bundle/gems/method_source-0.8.2/test/test_code_helpers.rb +0 -41
  618. data/vendor/bundle/gems/method_source-0.8.2/test/test_helper.rb +0 -98
  619. data/vendor/bundle/gems/minitest-5.10.1/.autotest +0 -34
  620. data/vendor/bundle/gems/minitest-5.10.1/History.rdoc +0 -1207
  621. data/vendor/bundle/gems/minitest-5.10.1/Manifest.txt +0 -26
  622. data/vendor/bundle/gems/minitest-5.10.1/README.rdoc +0 -660
  623. data/vendor/bundle/gems/minitest-5.10.1/Rakefile +0 -86
  624. data/vendor/bundle/gems/minitest-5.10.1/design_rationale.rb +0 -52
  625. data/vendor/bundle/gems/minitest-5.10.1/lib/hoe/minitest.rb +0 -32
  626. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest.rb +0 -842
  627. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/assertions.rb +0 -688
  628. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/autorun.rb +0 -13
  629. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/benchmark.rb +0 -424
  630. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/expectations.rb +0 -284
  631. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/hell.rb +0 -17
  632. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/mock.rb +0 -232
  633. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/parallel.rb +0 -69
  634. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/pride.rb +0 -4
  635. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/pride_plugin.rb +0 -142
  636. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/spec.rb +0 -331
  637. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/test.rb +0 -282
  638. data/vendor/bundle/gems/minitest-5.10.1/lib/minitest/unit.rb +0 -45
  639. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/metametameta.rb +0 -101
  640. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_benchmark.rb +0 -137
  641. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_mock.rb +0 -512
  642. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_reporter.rb +0 -281
  643. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_spec.rb +0 -970
  644. data/vendor/bundle/gems/minitest-5.10.1/test/minitest/test_minitest_test.rb +0 -2058
  645. data/vendor/bundle/gems/pry-0.10.4/CHANGELOG.md +0 -718
  646. data/vendor/bundle/gems/pry-0.10.4/LICENSE +0 -25
  647. data/vendor/bundle/gems/pry-0.10.4/README.md +0 -406
  648. data/vendor/bundle/gems/pry-0.10.4/bin/pry +0 -16
  649. data/vendor/bundle/gems/pry-0.10.4/lib/pry.rb +0 -161
  650. data/vendor/bundle/gems/pry-0.10.4/lib/pry/cli.rb +0 -220
  651. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code.rb +0 -348
  652. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code/code_file.rb +0 -103
  653. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code/code_range.rb +0 -71
  654. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code/loc.rb +0 -92
  655. data/vendor/bundle/gems/pry-0.10.4/lib/pry/code_object.rb +0 -172
  656. data/vendor/bundle/gems/pry-0.10.4/lib/pry/color_printer.rb +0 -55
  657. data/vendor/bundle/gems/pry-0.10.4/lib/pry/command.rb +0 -692
  658. data/vendor/bundle/gems/pry-0.10.4/lib/pry/command_set.rb +0 -443
  659. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands.rb +0 -6
  660. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/amend_line.rb +0 -99
  661. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/bang.rb +0 -20
  662. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/bang_pry.rb +0 -17
  663. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat.rb +0 -62
  664. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat/abstract_formatter.rb +0 -27
  665. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat/exception_formatter.rb +0 -77
  666. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat/file_formatter.rb +0 -67
  667. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cat/input_expression_formatter.rb +0 -43
  668. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/cd.rb +0 -41
  669. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/change_inspector.rb +0 -27
  670. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/change_prompt.rb +0 -26
  671. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/code_collector.rb +0 -165
  672. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/disable_pry.rb +0 -27
  673. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/disabled_commands.rb +0 -2
  674. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/easter_eggs.rb +0 -112
  675. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/edit.rb +0 -195
  676. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/edit/exception_patcher.rb +0 -25
  677. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/edit/file_and_line_locator.rb +0 -36
  678. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/exit.rb +0 -42
  679. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/exit_all.rb +0 -29
  680. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/exit_program.rb +0 -23
  681. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/find_method.rb +0 -193
  682. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/fix_indent.rb +0 -19
  683. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gem_cd.rb +0 -26
  684. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gem_install.rb +0 -32
  685. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gem_list.rb +0 -33
  686. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gem_open.rb +0 -29
  687. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/gist.rb +0 -101
  688. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/help.rb +0 -164
  689. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/hist.rb +0 -180
  690. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/import_set.rb +0 -22
  691. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/install_command.rb +0 -53
  692. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/jump_to.rb +0 -29
  693. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/list_inspectors.rb +0 -35
  694. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/list_prompts.rb +0 -35
  695. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls.rb +0 -114
  696. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/constants.rb +0 -47
  697. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/formatter.rb +0 -49
  698. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/globals.rb +0 -48
  699. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/grep.rb +0 -21
  700. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/instance_vars.rb +0 -39
  701. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/interrogatable.rb +0 -18
  702. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/jruby_hacks.rb +0 -49
  703. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/local_names.rb +0 -35
  704. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/local_vars.rb +0 -39
  705. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/ls_entity.rb +0 -70
  706. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/methods.rb +0 -57
  707. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/methods_helper.rb +0 -46
  708. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ls/self_methods.rb +0 -32
  709. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/nesting.rb +0 -25
  710. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/play.rb +0 -103
  711. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/pry_backtrace.rb +0 -25
  712. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/pry_version.rb +0 -17
  713. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/raise_up.rb +0 -32
  714. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/reload_code.rb +0 -62
  715. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/reset.rb +0 -18
  716. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/ri.rb +0 -60
  717. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/save_file.rb +0 -61
  718. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/shell_command.rb +0 -48
  719. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/shell_mode.rb +0 -25
  720. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/show_doc.rb +0 -83
  721. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/show_info.rb +0 -201
  722. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/show_input.rb +0 -17
  723. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/show_source.rb +0 -50
  724. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/simple_prompt.rb +0 -22
  725. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/stat.rb +0 -40
  726. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/switch_to.rb +0 -23
  727. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/toggle_color.rb +0 -24
  728. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/watch_expression.rb +0 -105
  729. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/watch_expression/expression.rb +0 -38
  730. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/whereami.rb +0 -196
  731. data/vendor/bundle/gems/pry-0.10.4/lib/pry/commands/wtf.rb +0 -57
  732. data/vendor/bundle/gems/pry-0.10.4/lib/pry/config.rb +0 -24
  733. data/vendor/bundle/gems/pry-0.10.4/lib/pry/config/behavior.rb +0 -139
  734. data/vendor/bundle/gems/pry-0.10.4/lib/pry/config/convenience.rb +0 -25
  735. data/vendor/bundle/gems/pry-0.10.4/lib/pry/config/default.rb +0 -161
  736. data/vendor/bundle/gems/pry-0.10.4/lib/pry/core_extensions.rb +0 -131
  737. data/vendor/bundle/gems/pry-0.10.4/lib/pry/editor.rb +0 -135
  738. data/vendor/bundle/gems/pry-0.10.4/lib/pry/exceptions.rb +0 -78
  739. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers.rb +0 -5
  740. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/base_helpers.rb +0 -113
  741. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/command_helpers.rb +0 -156
  742. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/documentation_helpers.rb +0 -75
  743. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/options_helpers.rb +0 -27
  744. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/table.rb +0 -109
  745. data/vendor/bundle/gems/pry-0.10.4/lib/pry/helpers/text.rb +0 -107
  746. data/vendor/bundle/gems/pry-0.10.4/lib/pry/history.rb +0 -127
  747. data/vendor/bundle/gems/pry-0.10.4/lib/pry/history_array.rb +0 -121
  748. data/vendor/bundle/gems/pry-0.10.4/lib/pry/hooks.rb +0 -230
  749. data/vendor/bundle/gems/pry-0.10.4/lib/pry/indent.rb +0 -406
  750. data/vendor/bundle/gems/pry-0.10.4/lib/pry/input_completer.rb +0 -242
  751. data/vendor/bundle/gems/pry-0.10.4/lib/pry/input_lock.rb +0 -132
  752. data/vendor/bundle/gems/pry-0.10.4/lib/pry/inspector.rb +0 -27
  753. data/vendor/bundle/gems/pry-0.10.4/lib/pry/last_exception.rb +0 -61
  754. data/vendor/bundle/gems/pry-0.10.4/lib/pry/method.rb +0 -546
  755. data/vendor/bundle/gems/pry-0.10.4/lib/pry/method/disowned.rb +0 -53
  756. data/vendor/bundle/gems/pry-0.10.4/lib/pry/method/patcher.rb +0 -125
  757. data/vendor/bundle/gems/pry-0.10.4/lib/pry/method/weird_method_locator.rb +0 -188
  758. data/vendor/bundle/gems/pry-0.10.4/lib/pry/module_candidate.rb +0 -137
  759. data/vendor/bundle/gems/pry-0.10.4/lib/pry/object_path.rb +0 -82
  760. data/vendor/bundle/gems/pry-0.10.4/lib/pry/output.rb +0 -50
  761. data/vendor/bundle/gems/pry-0.10.4/lib/pry/pager.rb +0 -239
  762. data/vendor/bundle/gems/pry-0.10.4/lib/pry/plugins.rb +0 -103
  763. data/vendor/bundle/gems/pry-0.10.4/lib/pry/prompt.rb +0 -26
  764. data/vendor/bundle/gems/pry-0.10.4/lib/pry/pry_class.rb +0 -375
  765. data/vendor/bundle/gems/pry-0.10.4/lib/pry/pry_instance.rb +0 -664
  766. data/vendor/bundle/gems/pry-0.10.4/lib/pry/rbx_path.rb +0 -22
  767. data/vendor/bundle/gems/pry-0.10.4/lib/pry/repl.rb +0 -202
  768. data/vendor/bundle/gems/pry-0.10.4/lib/pry/repl_file_loader.rb +0 -74
  769. data/vendor/bundle/gems/pry-0.10.4/lib/pry/rubygem.rb +0 -82
  770. data/vendor/bundle/gems/pry-0.10.4/lib/pry/terminal.rb +0 -79
  771. data/vendor/bundle/gems/pry-0.10.4/lib/pry/test/helper.rb +0 -170
  772. data/vendor/bundle/gems/pry-0.10.4/lib/pry/version.rb +0 -3
  773. data/vendor/bundle/gems/pry-0.10.4/lib/pry/wrapped_module.rb +0 -378
  774. data/vendor/bundle/gems/rake-10.5.0/.autotest +0 -7
  775. data/vendor/bundle/gems/rake-10.5.0/.rubocop.yml +0 -27
  776. data/vendor/bundle/gems/rake-10.5.0/.togglerc +0 -7
  777. data/vendor/bundle/gems/rake-10.5.0/CONTRIBUTING.rdoc +0 -38
  778. data/vendor/bundle/gems/rake-10.5.0/History.rdoc +0 -659
  779. data/vendor/bundle/gems/rake-10.5.0/MIT-LICENSE +0 -21
  780. data/vendor/bundle/gems/rake-10.5.0/Manifest.txt +0 -166
  781. data/vendor/bundle/gems/rake-10.5.0/README.rdoc +0 -139
  782. data/vendor/bundle/gems/rake-10.5.0/Rakefile +0 -81
  783. data/vendor/bundle/gems/rake-10.5.0/bin/rake +0 -33
  784. data/vendor/bundle/gems/rake-10.5.0/doc/command_line_usage.rdoc +0 -158
  785. data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile1 +0 -38
  786. data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile2 +0 -35
  787. data/vendor/bundle/gems/rake-10.5.0/doc/example/a.c +0 -6
  788. data/vendor/bundle/gems/rake-10.5.0/doc/example/b.c +0 -6
  789. data/vendor/bundle/gems/rake-10.5.0/doc/example/main.c +0 -11
  790. data/vendor/bundle/gems/rake-10.5.0/doc/glossary.rdoc +0 -42
  791. data/vendor/bundle/gems/rake-10.5.0/doc/jamis.rb +0 -591
  792. data/vendor/bundle/gems/rake-10.5.0/doc/proto_rake.rdoc +0 -127
  793. data/vendor/bundle/gems/rake-10.5.0/doc/rake.1 +0 -141
  794. data/vendor/bundle/gems/rake-10.5.0/doc/rakefile.rdoc +0 -624
  795. data/vendor/bundle/gems/rake-10.5.0/doc/rational.rdoc +0 -151
  796. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +0 -23
  797. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +0 -35
  798. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +0 -53
  799. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +0 -78
  800. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +0 -46
  801. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +0 -141
  802. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +0 -119
  803. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +0 -59
  804. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +0 -121
  805. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +0 -47
  806. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +0 -114
  807. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +0 -165
  808. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +0 -112
  809. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +0 -147
  810. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +0 -53
  811. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +0 -37
  812. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +0 -55
  813. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +0 -112
  814. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +0 -52
  815. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  816. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +0 -49
  817. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +0 -102
  818. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +0 -60
  819. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +0 -55
  820. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +0 -64
  821. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +0 -178
  822. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +0 -58
  823. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +0 -53
  824. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +0 -191
  825. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +0 -61
  826. data/vendor/bundle/gems/rake-10.5.0/lib/rake.rb +0 -79
  827. data/vendor/bundle/gems/rake-10.5.0/lib/rake/alt_system.rb +0 -110
  828. data/vendor/bundle/gems/rake-10.5.0/lib/rake/application.rb +0 -790
  829. data/vendor/bundle/gems/rake-10.5.0/lib/rake/backtrace.rb +0 -23
  830. data/vendor/bundle/gems/rake-10.5.0/lib/rake/clean.rb +0 -76
  831. data/vendor/bundle/gems/rake-10.5.0/lib/rake/cloneable.rb +0 -16
  832. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/.document +0 -1
  833. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +0 -21
  834. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +0 -137
  835. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +0 -81
  836. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  837. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +0 -61
  838. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sys.rb +0 -4
  839. data/vendor/bundle/gems/rake-10.5.0/lib/rake/cpu_counter.rb +0 -125
  840. data/vendor/bundle/gems/rake-10.5.0/lib/rake/default_loader.rb +0 -14
  841. data/vendor/bundle/gems/rake-10.5.0/lib/rake/dsl_definition.rb +0 -201
  842. data/vendor/bundle/gems/rake-10.5.0/lib/rake/early_time.rb +0 -21
  843. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/core.rb +0 -25
  844. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/module.rb +0 -2
  845. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/pathname.rb +0 -25
  846. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/string.rb +0 -175
  847. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/time.rb +0 -18
  848. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_creation_task.rb +0 -24
  849. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_list.rb +0 -428
  850. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_task.rb +0 -46
  851. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils.rb +0 -128
  852. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +0 -144
  853. data/vendor/bundle/gems/rake-10.5.0/lib/rake/gempackagetask.rb +0 -4
  854. data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_chain.rb +0 -56
  855. data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +0 -16
  856. data/vendor/bundle/gems/rake-10.5.0/lib/rake/late_time.rb +0 -17
  857. data/vendor/bundle/gems/rake-10.5.0/lib/rake/linked_list.rb +0 -103
  858. data/vendor/bundle/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +0 -53
  859. data/vendor/bundle/gems/rake-10.5.0/lib/rake/multi_task.rb +0 -13
  860. data/vendor/bundle/gems/rake-10.5.0/lib/rake/name_space.rb +0 -38
  861. data/vendor/bundle/gems/rake-10.5.0/lib/rake/packagetask.rb +0 -199
  862. data/vendor/bundle/gems/rake-10.5.0/lib/rake/pathmap.rb +0 -3
  863. data/vendor/bundle/gems/rake-10.5.0/lib/rake/phony.rb +0 -15
  864. data/vendor/bundle/gems/rake-10.5.0/lib/rake/private_reader.rb +0 -20
  865. data/vendor/bundle/gems/rake-10.5.0/lib/rake/promise.rb +0 -99
  866. data/vendor/bundle/gems/rake-10.5.0/lib/rake/pseudo_status.rb +0 -29
  867. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_module.rb +0 -38
  868. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +0 -22
  869. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rdoctask.rb +0 -4
  870. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +0 -29
  871. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +0 -20
  872. data/vendor/bundle/gems/rake-10.5.0/lib/rake/runtest.rb +0 -27
  873. data/vendor/bundle/gems/rake-10.5.0/lib/rake/scope.rb +0 -42
  874. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task.rb +0 -383
  875. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_argument_error.rb +0 -7
  876. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_arguments.rb +0 -98
  877. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_manager.rb +0 -307
  878. data/vendor/bundle/gems/rake-10.5.0/lib/rake/tasklib.rb +0 -24
  879. data/vendor/bundle/gems/rake-10.5.0/lib/rake/testtask.rb +0 -213
  880. data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_history_display.rb +0 -48
  881. data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_pool.rb +0 -164
  882. data/vendor/bundle/gems/rake-10.5.0/lib/rake/trace_output.rb +0 -22
  883. data/vendor/bundle/gems/rake-10.5.0/lib/rake/version.rb +0 -7
  884. data/vendor/bundle/gems/rake-10.5.0/lib/rake/win32.rb +0 -56
  885. data/vendor/bundle/gems/rake-10.5.0/rakelib/publish.rake +0 -20
  886. data/vendor/bundle/gems/rake-10.5.0/rakelib/test_times.rake +0 -25
  887. data/vendor/bundle/gems/rake-10.5.0/test/file_creation.rb +0 -34
  888. data/vendor/bundle/gems/rake-10.5.0/test/helper.rb +0 -129
  889. data/vendor/bundle/gems/rake-10.5.0/test/support/rakefile_definitions.rb +0 -478
  890. data/vendor/bundle/gems/rake-10.5.0/test/support/ruby_runner.rb +0 -34
  891. data/vendor/bundle/gems/rake-10.5.0/test/test_private_reader.rb +0 -42
  892. data/vendor/bundle/gems/rake-10.5.0/test/test_rake.rb +0 -40
  893. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application.rb +0 -643
  894. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application_options.rb +0 -468
  895. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_backtrace.rb +0 -119
  896. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_clean.rb +0 -61
  897. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +0 -68
  898. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_definitions.rb +0 -84
  899. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_directory_task.rb +0 -76
  900. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_dsl.rb +0 -40
  901. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_early_time.rb +0 -31
  902. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_extension.rb +0 -59
  903. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +0 -56
  904. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list.rb +0 -670
  905. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +0 -8
  906. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_task.rb +0 -197
  907. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_utils.rb +0 -314
  908. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_ftp_file.rb +0 -74
  909. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_functional.rb +0 -482
  910. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +0 -64
  911. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_late_time.rb +0 -18
  912. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_linked_list.rb +0 -84
  913. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +0 -46
  914. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_multi_task.rb +0 -64
  915. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_name_space.rb +0 -57
  916. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_package_task.rb +0 -79
  917. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map.rb +0 -168
  918. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +0 -34
  919. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +0 -18
  920. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +0 -15
  921. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +0 -21
  922. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +0 -20
  923. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +0 -26
  924. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_require.rb +0 -40
  925. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rules.rb +0 -388
  926. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_scope.rb +0 -44
  927. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task.rb +0 -393
  928. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +0 -119
  929. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_arguments.rb +0 -127
  930. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_lib.rb +0 -9
  931. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager.rb +0 -178
  932. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +0 -19
  933. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +0 -172
  934. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_test_task.rb +0 -146
  935. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_thread_pool.rb +0 -145
  936. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +0 -71
  937. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_win32.rb +0 -72
  938. data/vendor/bundle/gems/rake-10.5.0/test/test_thread_history_display.rb +0 -101
  939. data/vendor/bundle/gems/rake-10.5.0/test/test_trace_output.rb +0 -52
  940. data/vendor/bundle/gems/rspec-3.5.0/LICENSE.md +0 -27
  941. data/vendor/bundle/gems/rspec-3.5.0/README.md +0 -39
  942. data/vendor/bundle/gems/rspec-3.5.0/lib/rspec.rb +0 -3
  943. data/vendor/bundle/gems/rspec-3.5.0/lib/rspec/version.rb +0 -5
  944. data/vendor/bundle/gems/rspec-core-3.5.4/.document +0 -5
  945. data/vendor/bundle/gems/rspec-core-3.5.4/.yardopts +0 -8
  946. data/vendor/bundle/gems/rspec-core-3.5.4/Changelog.md +0 -2102
  947. data/vendor/bundle/gems/rspec-core-3.5.4/LICENSE.md +0 -26
  948. data/vendor/bundle/gems/rspec-core-3.5.4/README.md +0 -384
  949. data/vendor/bundle/gems/rspec-core-3.5.4/exe/rspec +0 -4
  950. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/autorun.rb +0 -3
  951. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core.rb +0 -185
  952. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/backtrace_formatter.rb +0 -65
  953. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/bisect/coordinator.rb +0 -66
  954. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/bisect/example_minimizer.rb +0 -169
  955. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/bisect/runner.rb +0 -169
  956. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/bisect/server.rb +0 -65
  957. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/configuration.rb +0 -2100
  958. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/configuration_options.rb +0 -194
  959. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/drb.rb +0 -111
  960. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/dsl.rb +0 -98
  961. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/example.rb +0 -649
  962. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb +0 -879
  963. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/example_status_persister.rb +0 -235
  964. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/filter_manager.rb +0 -231
  965. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/flat_map.rb +0 -20
  966. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters.rb +0 -255
  967. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/base_formatter.rb +0 -70
  968. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/base_text_formatter.rb +0 -77
  969. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/bisect_formatter.rb +0 -69
  970. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -144
  971. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/console_codes.rb +0 -65
  972. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  973. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/documentation_formatter.rb +0 -69
  974. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/exception_presenter.rb +0 -491
  975. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  976. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/helpers.rb +0 -110
  977. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/html_formatter.rb +0 -151
  978. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/html_printer.rb +0 -414
  979. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -116
  980. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/json_formatter.rb +0 -96
  981. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  982. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/progress_formatter.rb +0 -28
  983. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/protocol.rb +0 -181
  984. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/formatters/snippet_extractor.rb +0 -136
  985. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb +0 -624
  986. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/invocations.rb +0 -67
  987. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/memoized_helpers.rb +0 -532
  988. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/metadata.rb +0 -499
  989. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/metadata_filter.rb +0 -243
  990. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  991. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  992. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  993. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/null.rb +0 -14
  994. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  995. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  996. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/notifications.rb +0 -498
  997. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/option_parser.rb +0 -289
  998. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/ordering.rb +0 -158
  999. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/pending.rb +0 -165
  1000. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/profiler.rb +0 -32
  1001. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/project_initializer.rb +0 -48
  1002. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/project_initializer/.rspec +0 -2
  1003. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -103
  1004. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb +0 -168
  1005. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/reporter.rb +0 -248
  1006. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/ruby_project.rb +0 -53
  1007. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb +0 -188
  1008. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/sandbox.rb +0 -37
  1009. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/set.rb +0 -49
  1010. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/shared_context.rb +0 -55
  1011. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/shared_example_group.rb +0 -247
  1012. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/shell_escape.rb +0 -49
  1013. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source.rb +0 -86
  1014. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source/location.rb +0 -13
  1015. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source/node.rb +0 -93
  1016. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source/syntax_highlighter.rb +0 -71
  1017. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/source/token.rb +0 -87
  1018. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  1019. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/version.rb +0 -9
  1020. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/warnings.rb +0 -40
  1021. data/vendor/bundle/gems/rspec-core-3.5.4/lib/rspec/core/world.rb +0 -256
  1022. data/vendor/bundle/gems/rspec-expectations-3.5.0/.document +0 -5
  1023. data/vendor/bundle/gems/rspec-expectations-3.5.0/.yardopts +0 -6
  1024. data/vendor/bundle/gems/rspec-expectations-3.5.0/Changelog.md +0 -1034
  1025. data/vendor/bundle/gems/rspec-expectations-3.5.0/LICENSE.md +0 -25
  1026. data/vendor/bundle/gems/rspec-expectations-3.5.0/README.md +0 -303
  1027. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations.rb +0 -81
  1028. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/configuration.rb +0 -201
  1029. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/expectation_target.rb +0 -127
  1030. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/fail_with.rb +0 -31
  1031. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/failure_aggregator.rb +0 -194
  1032. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/handler.rb +0 -170
  1033. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb +0 -58
  1034. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/syntax.rb +0 -132
  1035. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/expectations/version.rb +0 -8
  1036. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers.rb +0 -1038
  1037. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/aliased_matcher.rb +0 -116
  1038. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in.rb +0 -52
  1039. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/all.rb +0 -85
  1040. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/base_matcher.rb +0 -181
  1041. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be.rb +0 -288
  1042. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be_between.rb +0 -77
  1043. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be_instance_of.rb +0 -22
  1044. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be_kind_of.rb +0 -16
  1045. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/be_within.rb +0 -72
  1046. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/change.rb +0 -354
  1047. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/compound.rb +0 -272
  1048. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/contain_exactly.rb +0 -286
  1049. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/cover.rb +0 -24
  1050. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/eq.rb +0 -40
  1051. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/eql.rb +0 -34
  1052. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/equal.rb +0 -81
  1053. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/exist.rb +0 -86
  1054. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/has.rb +0 -103
  1055. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  1056. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/include.rb +0 -143
  1057. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/match.rb +0 -106
  1058. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/operators.rb +0 -128
  1059. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/output.rb +0 -200
  1060. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/raise_error.rb +0 -230
  1061. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/respond_to.rb +0 -165
  1062. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/satisfy.rb +0 -37
  1063. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  1064. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  1065. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/built_in/yield.rb +0 -419
  1066. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/composable.rb +0 -185
  1067. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/dsl.rb +0 -466
  1068. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/english_phrasing.rb +0 -58
  1069. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -73
  1070. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/fail_matchers.rb +0 -42
  1071. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/generated_descriptions.rb +0 -42
  1072. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/matcher_delegator.rb +0 -35
  1073. data/vendor/bundle/gems/rspec-expectations-3.5.0/lib/rspec/matchers/matcher_protocol.rb +0 -99
  1074. data/vendor/bundle/gems/rspec-mocks-3.5.0/.document +0 -5
  1075. data/vendor/bundle/gems/rspec-mocks-3.5.0/.yardopts +0 -6
  1076. data/vendor/bundle/gems/rspec-mocks-3.5.0/Changelog.md +0 -1043
  1077. data/vendor/bundle/gems/rspec-mocks-3.5.0/LICENSE.md +0 -25
  1078. data/vendor/bundle/gems/rspec-mocks-3.5.0/README.md +0 -445
  1079. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks.rb +0 -130
  1080. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance.rb +0 -11
  1081. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/chain.rb +0 -110
  1082. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  1083. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -35
  1084. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -48
  1085. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  1086. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  1087. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/recorder.rb +0 -289
  1088. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/stub_chain.rb +0 -47
  1089. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -28
  1090. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  1091. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/argument_matchers.rb +0 -320
  1092. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/configuration.rb +0 -205
  1093. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/error_generator.rb +0 -369
  1094. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/example_methods.rb +0 -422
  1095. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/instance_method_stasher.rb +0 -135
  1096. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/marshal_extension.rb +0 -41
  1097. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  1098. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/have_received.rb +0 -130
  1099. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/receive.rb +0 -132
  1100. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
  1101. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
  1102. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/message_chain.rb +0 -87
  1103. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/message_expectation.rb +0 -740
  1104. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/method_double.rb +0 -287
  1105. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/method_reference.rb +0 -202
  1106. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/minitest_integration.rb +0 -68
  1107. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/mutate_const.rb +0 -335
  1108. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/object_reference.rb +0 -149
  1109. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/order_group.rb +0 -81
  1110. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/proxy.rb +0 -489
  1111. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/space.rb +0 -238
  1112. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/standalone.rb +0 -3
  1113. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/syntax.rb +0 -325
  1114. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/targets.rb +0 -124
  1115. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/test_double.rb +0 -170
  1116. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/verifying_double.rb +0 -129
  1117. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  1118. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/verifying_proxy.rb +0 -213
  1119. data/vendor/bundle/gems/rspec-mocks-3.5.0/lib/rspec/mocks/version.rb +0 -9
  1120. data/vendor/bundle/gems/rspec-support-3.5.0/Changelog.md +0 -192
  1121. data/vendor/bundle/gems/rspec-support-3.5.0/LICENSE.md +0 -23
  1122. data/vendor/bundle/gems/rspec-support-3.5.0/README.md +0 -40
  1123. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support.rb +0 -139
  1124. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/caller_filter.rb +0 -83
  1125. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/comparable_version.rb +0 -46
  1126. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/differ.rb +0 -215
  1127. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/directory_maker.rb +0 -63
  1128. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/encoded_string.rb +0 -165
  1129. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/fuzzy_matcher.rb +0 -48
  1130. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/hunk_generator.rb +0 -47
  1131. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/matcher_definition.rb +0 -42
  1132. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/method_signature_verifier.rb +0 -392
  1133. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/mutex.rb +0 -73
  1134. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/object_formatter.rb +0 -249
  1135. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/recursive_const_methods.rb +0 -76
  1136. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/reentrant_mutex.rb +0 -53
  1137. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/ruby_features.rb +0 -149
  1138. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec.rb +0 -81
  1139. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  1140. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/formatting_support.rb +0 -9
  1141. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/in_sub_process.rb +0 -52
  1142. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/library_wide_checks.rb +0 -150
  1143. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/shell_out.rb +0 -82
  1144. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/stderr_splitter.rb +0 -63
  1145. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/string_matcher.rb +0 -46
  1146. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
  1147. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  1148. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/version.rb +0 -7
  1149. data/vendor/bundle/gems/rspec-support-3.5.0/lib/rspec/support/warnings.rb +0 -39
  1150. data/vendor/bundle/gems/slop-3.6.0/.gitignore +0 -7
  1151. data/vendor/bundle/gems/slop-3.6.0/.travis.yml +0 -9
  1152. data/vendor/bundle/gems/slop-3.6.0/CHANGES.md +0 -309
  1153. data/vendor/bundle/gems/slop-3.6.0/Gemfile +0 -3
  1154. data/vendor/bundle/gems/slop-3.6.0/LICENSE +0 -20
  1155. data/vendor/bundle/gems/slop-3.6.0/README.md +0 -202
  1156. data/vendor/bundle/gems/slop-3.6.0/Rakefile +0 -29
  1157. data/vendor/bundle/gems/slop-3.6.0/lib/slop.rb +0 -687
  1158. data/vendor/bundle/gems/slop-3.6.0/lib/slop/commands.rb +0 -196
  1159. data/vendor/bundle/gems/slop-3.6.0/lib/slop/option.rb +0 -214
  1160. data/vendor/bundle/gems/slop-3.6.0/slop.gemspec +0 -17
  1161. data/vendor/bundle/gems/slop-3.6.0/test/commands_test.rb +0 -26
  1162. data/vendor/bundle/gems/slop-3.6.0/test/helper.rb +0 -12
  1163. data/vendor/bundle/gems/slop-3.6.0/test/option_test.rb +0 -145
  1164. data/vendor/bundle/gems/slop-3.6.0/test/slop_test.rb +0 -518
  1165. data/vendor/bundle/gems/thread_safe-0.3.6/.rspec +0 -2
  1166. data/vendor/bundle/gems/thread_safe-0.3.6/.travis.yml +0 -46
  1167. data/vendor/bundle/gems/thread_safe-0.3.6/.yardopts +0 -13
  1168. data/vendor/bundle/gems/thread_safe-0.3.6/Gemfile +0 -20
  1169. data/vendor/bundle/gems/thread_safe-0.3.6/LICENSE +0 -144
  1170. data/vendor/bundle/gems/thread_safe-0.3.6/README.md +0 -60
  1171. data/vendor/bundle/gems/thread_safe-0.3.6/Rakefile +0 -62
  1172. data/vendor/bundle/gems/thread_safe-0.3.6/examples/bench_cache.rb +0 -35
  1173. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/JRubyCacheBackendLibrary.java +0 -245
  1174. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMap.java +0 -31
  1175. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMapV8.java +0 -3863
  1176. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/LongAdder.java +0 -203
  1177. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/Striped64.java +0 -342
  1178. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/ConcurrentHashMapV8.java +0 -3800
  1179. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/LongAdder.java +0 -204
  1180. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/Striped64.java +0 -291
  1181. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166y/ThreadLocalRandom.java +0 -199
  1182. data/vendor/bundle/gems/thread_safe-0.3.6/ext/thread_safe/JrubyCacheBackendService.java +0 -15
  1183. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe.rb +0 -65
  1184. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/atomic_reference_cache_backend.rb +0 -908
  1185. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/cache.rb +0 -161
  1186. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/mri_cache_backend.rb +0 -60
  1187. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/non_concurrent_cache_backend.rb +0 -135
  1188. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_cache_backend.rb +0 -77
  1189. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_delegator.rb +0 -43
  1190. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util.rb +0 -16
  1191. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/adder.rb +0 -62
  1192. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/atomic_reference.rb +0 -44
  1193. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/cheap_lockable.rb +0 -106
  1194. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/power_of_two_tuple.rb +0 -26
  1195. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/striped64.rb +0 -222
  1196. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile.rb +0 -64
  1197. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile_tuple.rb +0 -46
  1198. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/xor_shift_random.rb +0 -41
  1199. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/version.rb +0 -21
  1200. data/vendor/bundle/gems/thread_safe-0.3.6/spec/.gitignore +0 -0
  1201. data/vendor/bundle/gems/thread_safe-0.3.6/spec/spec_helper.rb +0 -31
  1202. data/vendor/bundle/gems/thread_safe-0.3.6/spec/src/thread_safe/SecurityManager.java +0 -21
  1203. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/.gitignore +0 -0
  1204. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/threads.rb +0 -1
  1205. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/threadsafe_test.rb +0 -75
  1206. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/.gitignore +0 -0
  1207. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/array_spec.rb +0 -18
  1208. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/cache_loops_spec.rb +0 -507
  1209. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/cache_spec.rb +0 -943
  1210. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/hash_spec.rb +0 -17
  1211. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/no_unsafe_spec.rb +0 -27
  1212. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/synchronized_delegator_spec.rb +0 -85
  1213. data/vendor/bundle/gems/thread_safe-0.3.6/tasks/update_doc.rake +0 -45
  1214. data/vendor/bundle/gems/thread_safe-0.3.6/thread_safe.gemspec +0 -26
  1215. data/vendor/bundle/gems/thread_safe-0.3.6/yard-template/default/fulldoc/html/css/common.css +0 -125
  1216. data/vendor/bundle/gems/thread_safe-0.3.6/yard-template/default/layout/html/footer.erb +0 -16
  1217. data/vendor/bundle/gems/tzinfo-1.2.2/.yardopts +0 -6
  1218. data/vendor/bundle/gems/tzinfo-1.2.2/CHANGES.md +0 -649
  1219. data/vendor/bundle/gems/tzinfo-1.2.2/LICENSE +0 -19
  1220. data/vendor/bundle/gems/tzinfo-1.2.2/README.md +0 -151
  1221. data/vendor/bundle/gems/tzinfo-1.2.2/Rakefile +0 -104
  1222. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo.rb +0 -40
  1223. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/country.rb +0 -196
  1224. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/country_index_definition.rb +0 -31
  1225. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/country_info.rb +0 -42
  1226. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/country_timezone.rb +0 -123
  1227. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/data_source.rb +0 -190
  1228. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/data_timezone.rb +0 -58
  1229. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/data_timezone_info.rb +0 -55
  1230. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/info_timezone.rb +0 -30
  1231. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/linked_timezone.rb +0 -63
  1232. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/linked_timezone_info.rb +0 -26
  1233. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/offset_rationals.rb +0 -77
  1234. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/ruby_core_support.rb +0 -146
  1235. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/ruby_country_info.rb +0 -70
  1236. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/ruby_data_source.rb +0 -136
  1237. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/time_or_datetime.rb +0 -333
  1238. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone.rb +0 -637
  1239. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_definition.rb +0 -36
  1240. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_index_definition.rb +0 -54
  1241. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_info.rb +0 -30
  1242. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_offset.rb +0 -74
  1243. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_period.rb +0 -204
  1244. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_proxy.rb +0 -70
  1245. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_transition.rb +0 -120
  1246. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/timezone_transition_definition.rb +0 -101
  1247. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/transition_data_timezone_info.rb +0 -274
  1248. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/zoneinfo_country_info.rb +0 -35
  1249. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/zoneinfo_data_source.rb +0 -487
  1250. data/vendor/bundle/gems/tzinfo-1.2.2/lib/tzinfo/zoneinfo_timezone_info.rb +0 -245
  1251. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_country.rb +0 -236
  1252. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_country_index_definition.rb +0 -69
  1253. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_country_info.rb +0 -16
  1254. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_country_timezone.rb +0 -161
  1255. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_data_source.rb +0 -218
  1256. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_data_timezone.rb +0 -99
  1257. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_data_timezone_info.rb +0 -18
  1258. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_info_timezone.rb +0 -34
  1259. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_linked_timezone.rb +0 -155
  1260. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_linked_timezone_info.rb +0 -23
  1261. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_offset_rationals.rb +0 -23
  1262. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_ruby_core_support.rb +0 -168
  1263. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_ruby_country_info.rb +0 -80
  1264. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_ruby_data_source.rb +0 -143
  1265. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_time_or_datetime.rb +0 -639
  1266. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone.rb +0 -1334
  1267. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_definition.rb +0 -113
  1268. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_index_definition.rb +0 -73
  1269. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_info.rb +0 -11
  1270. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_london.rb +0 -143
  1271. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_melbourne.rb +0 -142
  1272. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_new_york.rb +0 -142
  1273. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_offset.rb +0 -126
  1274. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_period.rb +0 -548
  1275. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_proxy.rb +0 -113
  1276. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_transition.rb +0 -352
  1277. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_transition_definition.rb +0 -284
  1278. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_timezone_utc.rb +0 -27
  1279. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_transition_data_timezone_info.rb +0 -423
  1280. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_zoneinfo_country_info.rb +0 -64
  1281. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_zoneinfo_data_source.rb +0 -1122
  1282. data/vendor/bundle/gems/tzinfo-1.2.2/test/tc_zoneinfo_timezone_info.rb +0 -814
  1283. data/vendor/bundle/gems/tzinfo-1.2.2/test/test_utils.rb +0 -132
  1284. data/vendor/bundle/gems/tzinfo-1.2.2/test/ts_all.rb +0 -7
  1285. data/vendor/bundle/gems/tzinfo-1.2.2/test/ts_all_ruby.rb +0 -5
  1286. data/vendor/bundle/gems/tzinfo-1.2.2/test/ts_all_zoneinfo.rb +0 -7
  1287. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data.rb +0 -8
  1288. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +0 -89
  1289. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +0 -315
  1290. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +0 -218
  1291. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/EST.rb +0 -19
  1292. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +0 -21
  1293. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +0 -21
  1294. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +0 -21
  1295. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +0 -261
  1296. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +0 -186
  1297. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +0 -321
  1298. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +0 -265
  1299. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +0 -220
  1300. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +0 -16
  1301. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/indexes/countries.rb +0 -927
  1302. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +0 -596
  1303. data/vendor/bundle/gems/tzinfo-1.2.2/test/tzinfo-data/tzinfo/data/version.rb +0 -14
  1304. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  1305. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/America/New_York +0 -0
  1306. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Australia/Melbourne +0 -0
  1307. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/EST +0 -0
  1308. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Etc/UTC +0 -0
  1309. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/Amsterdam +0 -0
  1310. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/Andorra +0 -0
  1311. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/London +0 -0
  1312. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/Paris +0 -0
  1313. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Europe/Prague +0 -0
  1314. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/Factory +0 -0
  1315. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/iso3166.tab +0 -275
  1316. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/posix/Europe/London +0 -0
  1317. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/posixrules +0 -0
  1318. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/right/Europe/London +0 -0
  1319. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/zone.tab +0 -439
  1320. data/vendor/bundle/gems/tzinfo-1.2.2/test/zoneinfo/zone1970.tab +0 -369
  1321. data/vendor/bundle/gems/tzinfo-1.2.2/tzinfo.gemspec +0 -21
  1322. data/vendor/bundle/specifications/activesupport-5.0.2.gemspec +0 -43
  1323. data/vendor/bundle/specifications/coderay-1.1.1.gemspec +0 -26
  1324. data/vendor/bundle/specifications/concurrent-ruby-1.0.5.gemspec +0 -23
  1325. data/vendor/bundle/specifications/diff-lcs-1.3.gemspec +0 -61
  1326. data/vendor/bundle/specifications/i18n-0.8.1.gemspec +0 -22
  1327. data/vendor/bundle/specifications/method_source-0.8.2.gemspec +0 -34
  1328. data/vendor/bundle/specifications/minitest-5.10.1.gemspec +0 -39
  1329. data/vendor/bundle/specifications/pry-0.10.4.gemspec +0 -43
  1330. data/vendor/bundle/specifications/rake-10.5.0.gemspec +0 -43
  1331. data/vendor/bundle/specifications/rspec-3.5.0.gemspec +0 -42
  1332. data/vendor/bundle/specifications/rspec-core-3.5.4.gemspec +0 -62
  1333. data/vendor/bundle/specifications/rspec-expectations-3.5.0.gemspec +0 -50
  1334. data/vendor/bundle/specifications/rspec-mocks-3.5.0.gemspec +0 -50
  1335. data/vendor/bundle/specifications/rspec-support-3.5.0.gemspec +0 -41
  1336. data/vendor/bundle/specifications/slop-3.6.0.gemspec +0 -36
  1337. data/vendor/bundle/specifications/thread_safe-0.3.6.gemspec +0 -38
  1338. data/vendor/bundle/specifications/tzinfo-1.2.2.gemspec +0 -37
@@ -1,22 +0,0 @@
1
- require 'concurrent/atomic_reference/direct_update'
2
- require 'concurrent/atomic_reference/numeric_cas_wrapper'
3
-
4
- module Concurrent
5
-
6
- # @!macro atomic_reference
7
- #
8
- # @note Extends `Rubinius::AtomicReference` version adding aliases
9
- # and numeric logic.
10
- #
11
- # @!visibility private
12
- # @!macro internal_implementation_note
13
- class RbxAtomicReference < Rubinius::AtomicReference
14
- alias _compare_and_set compare_and_set
15
- include Concurrent::AtomicDirectUpdate
16
- include Concurrent::AtomicNumericCompareAndSetWrapper
17
-
18
- alias_method :value, :get
19
- alias_method :value=, :set
20
- alias_method :swap, :get_and_set
21
- end
22
- end
@@ -1,32 +0,0 @@
1
- if defined? Concurrent::CAtomicReference
2
- require 'concurrent/synchronization'
3
- require 'concurrent/atomic_reference/direct_update'
4
- require 'concurrent/atomic_reference/numeric_cas_wrapper'
5
-
6
- module Concurrent
7
-
8
- # @!macro atomic_reference
9
- #
10
- # @!visibility private
11
- # @!macro internal_implementation_note
12
- class CAtomicReference
13
- include Concurrent::AtomicDirectUpdate
14
- include Concurrent::AtomicNumericCompareAndSetWrapper
15
-
16
- # @!method initialize
17
- # @!macro atomic_reference_method_initialize
18
-
19
- # @!method get
20
- # @!macro atomic_reference_method_get
21
-
22
- # @!method set
23
- # @!macro atomic_reference_method_set
24
-
25
- # @!method get_and_set
26
- # @!macro atomic_reference_method_get_and_set
27
-
28
- # @!method _compare_and_set
29
- # @!macro atomic_reference_method_compare_and_set
30
- end
31
- end
32
- end
@@ -1,53 +0,0 @@
1
- # @!macro [new] atomic_reference
2
- #
3
- # An object reference that may be updated atomically. All read and write
4
- # operations have java volatile semantic.
5
- #
6
- # @!macro thread_safe_variable_comparison
7
- #
8
- # @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html
9
- # @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/package-summary.html
10
- #
11
- # @!method initialize
12
- # @!macro [new] atomic_reference_method_initialize
13
- # @param [Object] value The initial value.
14
- #
15
- # @!method get
16
- # @!macro [new] atomic_reference_method_get
17
- # Gets the current value.
18
- # @return [Object] the current value
19
- #
20
- # @!method set
21
- # @!macro [new] atomic_reference_method_set
22
- # Sets to the given value.
23
- # @param [Object] new_value the new value
24
- # @return [Object] the new value
25
- #
26
- # @!method get_and_set
27
- # @!macro [new] atomic_reference_method_get_and_set
28
- # Atomically sets to the given value and returns the old value.
29
- # @param [Object] new_value the new value
30
- # @return [Object] the old value
31
- #
32
- # @!method compare_and_set
33
- # @!macro [new] atomic_reference_method_compare_and_set
34
- #
35
- # Atomically sets the value to the given updated value if
36
- # the current value == the expected value.
37
- #
38
- # @param [Object] old_value the expected value
39
- # @param [Object] new_value the new value
40
- #
41
- # @return [Boolean] `true` if successful. A `false` return indicates
42
- # that the actual value was not equal to the expected value.
43
-
44
- require 'concurrent/atomic/atomic_reference'
45
- require 'concurrent/atomic/atomic_boolean'
46
- require 'concurrent/atomic/atomic_fixnum'
47
- require 'concurrent/atomic/cyclic_barrier'
48
- require 'concurrent/atomic/count_down_latch'
49
- require 'concurrent/atomic/event'
50
- require 'concurrent/atomic/read_write_lock'
51
- require 'concurrent/atomic/reentrant_read_write_lock'
52
- require 'concurrent/atomic/semaphore'
53
- require 'concurrent/atomic/thread_local_var'
@@ -1,107 +0,0 @@
1
- require 'concurrent/synchronization'
2
-
3
- module Concurrent
4
- module Collection
5
-
6
- # A thread safe observer set implemented using copy-on-read approach:
7
- # observers are added and removed from a thread safe collection; every time
8
- # a notification is required the internal data structure is copied to
9
- # prevent concurrency issues
10
- #
11
- # @api private
12
- class CopyOnNotifyObserverSet < Synchronization::LockableObject
13
-
14
- def initialize
15
- super()
16
- synchronize { ns_initialize }
17
- end
18
-
19
- # @!macro observable_add_observer
20
- def add_observer(observer = nil, func = :update, &block)
21
- if observer.nil? && block.nil?
22
- raise ArgumentError, 'should pass observer as a first argument or block'
23
- elsif observer && block
24
- raise ArgumentError.new('cannot provide both an observer and a block')
25
- end
26
-
27
- if block
28
- observer = block
29
- func = :call
30
- end
31
-
32
- synchronize do
33
- @observers[observer] = func
34
- observer
35
- end
36
- end
37
-
38
- # @!macro observable_delete_observer
39
- def delete_observer(observer)
40
- synchronize do
41
- @observers.delete(observer)
42
- observer
43
- end
44
- end
45
-
46
- # @!macro observable_delete_observers
47
- def delete_observers
48
- synchronize do
49
- @observers.clear
50
- self
51
- end
52
- end
53
-
54
- # @!macro observable_count_observers
55
- def count_observers
56
- synchronize { @observers.count }
57
- end
58
-
59
- # Notifies all registered observers with optional args
60
- # @param [Object] args arguments to be passed to each observer
61
- # @return [CopyOnWriteObserverSet] self
62
- def notify_observers(*args, &block)
63
- observers = duplicate_observers
64
- notify_to(observers, *args, &block)
65
- self
66
- end
67
-
68
- # Notifies all registered observers with optional args and deletes them.
69
- #
70
- # @param [Object] args arguments to be passed to each observer
71
- # @return [CopyOnWriteObserverSet] self
72
- def notify_and_delete_observers(*args, &block)
73
- observers = duplicate_and_clear_observers
74
- notify_to(observers, *args, &block)
75
- self
76
- end
77
-
78
- protected
79
-
80
- def ns_initialize
81
- @observers = {}
82
- end
83
-
84
- private
85
-
86
- def duplicate_and_clear_observers
87
- synchronize do
88
- observers = @observers.dup
89
- @observers.clear
90
- observers
91
- end
92
- end
93
-
94
- def duplicate_observers
95
- synchronize { @observers.dup }
96
- end
97
-
98
- def notify_to(observers, *args)
99
- raise ArgumentError.new('cannot give arguments and a block') if block_given? && !args.empty?
100
- observers.each do |observer, function|
101
- args = yield if block_given?
102
- observer.send(function, *args)
103
- end
104
- end
105
- end
106
- end
107
- end
@@ -1,111 +0,0 @@
1
- require 'concurrent/synchronization'
2
-
3
- module Concurrent
4
- module Collection
5
-
6
- # A thread safe observer set implemented using copy-on-write approach:
7
- # every time an observer is added or removed the whole internal data structure is
8
- # duplicated and replaced with a new one.
9
- #
10
- # @api private
11
- class CopyOnWriteObserverSet < Synchronization::LockableObject
12
-
13
- def initialize
14
- super()
15
- synchronize { ns_initialize }
16
- end
17
-
18
- # @!macro observable_add_observer
19
- def add_observer(observer = nil, func = :update, &block)
20
- if observer.nil? && block.nil?
21
- raise ArgumentError, 'should pass observer as a first argument or block'
22
- elsif observer && block
23
- raise ArgumentError.new('cannot provide both an observer and a block')
24
- end
25
-
26
- if block
27
- observer = block
28
- func = :call
29
- end
30
-
31
- synchronize do
32
- new_observers = @observers.dup
33
- new_observers[observer] = func
34
- @observers = new_observers
35
- observer
36
- end
37
- end
38
-
39
- # @!macro observable_delete_observer
40
- def delete_observer(observer)
41
- synchronize do
42
- new_observers = @observers.dup
43
- new_observers.delete(observer)
44
- @observers = new_observers
45
- observer
46
- end
47
- end
48
-
49
- # @!macro observable_delete_observers
50
- def delete_observers
51
- self.observers = {}
52
- self
53
- end
54
-
55
- # @!macro observable_count_observers
56
- def count_observers
57
- observers.count
58
- end
59
-
60
- # Notifies all registered observers with optional args
61
- # @param [Object] args arguments to be passed to each observer
62
- # @return [CopyOnWriteObserverSet] self
63
- def notify_observers(*args, &block)
64
- notify_to(observers, *args, &block)
65
- self
66
- end
67
-
68
- # Notifies all registered observers with optional args and deletes them.
69
- #
70
- # @param [Object] args arguments to be passed to each observer
71
- # @return [CopyOnWriteObserverSet] self
72
- def notify_and_delete_observers(*args, &block)
73
- old = clear_observers_and_return_old
74
- notify_to(old, *args, &block)
75
- self
76
- end
77
-
78
- protected
79
-
80
- def ns_initialize
81
- @observers = {}
82
- end
83
-
84
- private
85
-
86
- def notify_to(observers, *args)
87
- raise ArgumentError.new('cannot give arguments and a block') if block_given? && !args.empty?
88
- observers.each do |observer, function|
89
- args = yield if block_given?
90
- observer.send(function, *args)
91
- end
92
- end
93
-
94
- def observers
95
- synchronize { @observers }
96
- end
97
-
98
- def observers=(new_set)
99
- synchronize { @observers = new_set }
100
- end
101
-
102
- def clear_observers_and_return_old
103
- synchronize do
104
- old_observers = @observers
105
- @observers = {}
106
- old_observers
107
- end
108
- end
109
- end
110
- end
111
- end
@@ -1,84 +0,0 @@
1
- if Concurrent.on_jruby?
2
-
3
- module Concurrent
4
- module Collection
5
-
6
-
7
- # @!macro priority_queue
8
- #
9
- # @!visibility private
10
- # @!macro internal_implementation_note
11
- class JavaNonConcurrentPriorityQueue
12
-
13
- # @!macro priority_queue_method_initialize
14
- def initialize(opts = {})
15
- order = opts.fetch(:order, :max)
16
- if [:min, :low].include?(order)
17
- @queue = java.util.PriorityQueue.new(11) # 11 is the default initial capacity
18
- else
19
- @queue = java.util.PriorityQueue.new(11, java.util.Collections.reverseOrder())
20
- end
21
- end
22
-
23
- # @!macro priority_queue_method_clear
24
- def clear
25
- @queue.clear
26
- true
27
- end
28
-
29
- # @!macro priority_queue_method_delete
30
- def delete(item)
31
- found = false
32
- while @queue.remove(item) do
33
- found = true
34
- end
35
- found
36
- end
37
-
38
- # @!macro priority_queue_method_empty
39
- def empty?
40
- @queue.size == 0
41
- end
42
-
43
- # @!macro priority_queue_method_include
44
- def include?(item)
45
- @queue.contains(item)
46
- end
47
- alias_method :has_priority?, :include?
48
-
49
- # @!macro priority_queue_method_length
50
- def length
51
- @queue.size
52
- end
53
- alias_method :size, :length
54
-
55
- # @!macro priority_queue_method_peek
56
- def peek
57
- @queue.peek
58
- end
59
-
60
- # @!macro priority_queue_method_pop
61
- def pop
62
- @queue.poll
63
- end
64
- alias_method :deq, :pop
65
- alias_method :shift, :pop
66
-
67
- # @!macro priority_queue_method_push
68
- def push(item)
69
- raise ArgumentError.new('cannot enqueue nil') if item.nil?
70
- @queue.add(item)
71
- end
72
- alias_method :<<, :push
73
- alias_method :enq, :push
74
-
75
- # @!macro priority_queue_method_from_list
76
- def self.from_list(list, opts = {})
77
- queue = new(opts)
78
- list.each{|item| queue << item }
79
- queue
80
- end
81
- end
82
- end
83
- end
84
- end
@@ -1,927 +0,0 @@
1
- require 'concurrent/constants'
2
- require 'concurrent/thread_safe/util'
3
- require 'concurrent/thread_safe/util/adder'
4
- require 'concurrent/thread_safe/util/cheap_lockable'
5
- require 'concurrent/thread_safe/util/power_of_two_tuple'
6
- require 'concurrent/thread_safe/util/volatile'
7
- require 'concurrent/thread_safe/util/xor_shift_random'
8
-
9
- module Concurrent
10
-
11
- # @!visibility private
12
- module Collection
13
-
14
- # A Ruby port of the Doug Lea's jsr166e.ConcurrentHashMapV8 class version 1.59
15
- # available in public domain.
16
- #
17
- # Original source code available here:
18
- # http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/jsr166e/ConcurrentHashMapV8.java?revision=1.59
19
- #
20
- # The Ruby port skips out the +TreeBin+ (red-black trees for use in bins whose
21
- # size exceeds a threshold).
22
- #
23
- # A hash table supporting full concurrency of retrievals and high expected
24
- # concurrency for updates. However, even though all operations are
25
- # thread-safe, retrieval operations do _not_ entail locking, and there is
26
- # _not_ any support for locking the entire table in a way that prevents all
27
- # access.
28
- #
29
- # Retrieval operations generally do not block, so may overlap with update
30
- # operations. Retrievals reflect the results of the most recently _completed_
31
- # update operations holding upon their onset. (More formally, an update
32
- # operation for a given key bears a _happens-before_ relation with any (non
33
- # +nil+) retrieval for that key reporting the updated value.) For aggregate
34
- # operations such as +clear()+, concurrent retrievals may reflect insertion or
35
- # removal of only some entries. Similarly, the +each_pair+ iterator yields
36
- # elements reflecting the state of the hash table at some point at or since
37
- # the start of the +each_pair+. Bear in mind that the results of aggregate
38
- # status methods including +size()+ and +empty?+} are typically useful only
39
- # when a map is not undergoing concurrent updates in other threads. Otherwise
40
- # the results of these methods reflect transient states that may be adequate
41
- # for monitoring or estimation purposes, but not for program control.
42
- #
43
- # The table is dynamically expanded when there are too many collisions (i.e.,
44
- # keys that have distinct hash codes but fall into the same slot modulo the
45
- # table size), with the expected average effect of maintaining roughly two
46
- # bins per mapping (corresponding to a 0.75 load factor threshold for
47
- # resizing). There may be much variance around this average as mappings are
48
- # added and removed, but overall, this maintains a commonly accepted
49
- # time/space tradeoff for hash tables. However, resizing this or any other
50
- # kind of hash table may be a relatively slow operation. When possible, it is
51
- # a good idea to provide a size estimate as an optional :initial_capacity
52
- # initializer argument. An additional optional :load_factor constructor
53
- # argument provides a further means of customizing initial table capacity by
54
- # specifying the table density to be used in calculating the amount of space
55
- # to allocate for the given number of elements. Note that using many keys with
56
- # exactly the same +hash+ is a sure way to slow down performance of any hash
57
- # table.
58
- #
59
- # ## Design overview
60
- #
61
- # The primary design goal of this hash table is to maintain concurrent
62
- # readability (typically method +[]+, but also iteration and related methods)
63
- # while minimizing update contention. Secondary goals are to keep space
64
- # consumption about the same or better than plain +Hash+, and to support high
65
- # initial insertion rates on an empty table by many threads.
66
- #
67
- # Each key-value mapping is held in a +Node+. The validation-based approach
68
- # explained below leads to a lot of code sprawl because retry-control
69
- # precludes factoring into smaller methods.
70
- #
71
- # The table is lazily initialized to a power-of-two size upon the first
72
- # insertion. Each bin in the table normally contains a list of +Node+s (most
73
- # often, the list has only zero or one +Node+). Table accesses require
74
- # volatile/atomic reads, writes, and CASes. The lists of nodes within bins are
75
- # always accurately traversable under volatile reads, so long as lookups check
76
- # hash code and non-nullness of value before checking key equality.
77
- #
78
- # We use the top two bits of +Node+ hash fields for control purposes -- they
79
- # are available anyway because of addressing constraints. As explained further
80
- # below, these top bits are used as follows:
81
- #
82
- # - 00 - Normal
83
- # - 01 - Locked
84
- # - 11 - Locked and may have a thread waiting for lock
85
- # - 10 - +Node+ is a forwarding node
86
- #
87
- # The lower 28 bits of each +Node+'s hash field contain a the key's hash code,
88
- # except for forwarding nodes, for which the lower bits are zero (and so
89
- # always have hash field == +MOVED+).
90
- #
91
- # Insertion (via +[]=+ or its variants) of the first node in an empty bin is
92
- # performed by just CASing it to the bin. This is by far the most common case
93
- # for put operations under most key/hash distributions. Other update
94
- # operations (insert, delete, and replace) require locks. We do not want to
95
- # waste the space required to associate a distinct lock object with each bin,
96
- # so instead use the first node of a bin list itself as a lock. Blocking
97
- # support for these locks relies +Concurrent::ThreadSafe::Util::CheapLockable. However, we also need a
98
- # +try_lock+ construction, so we overlay these by using bits of the +Node+
99
- # hash field for lock control (see above), and so normally use builtin
100
- # monitors only for blocking and signalling using
101
- # +cheap_wait+/+cheap_broadcast+ constructions. See +Node#try_await_lock+.
102
- #
103
- # Using the first node of a list as a lock does not by itself suffice though:
104
- # When a node is locked, any update must first validate that it is still the
105
- # first node after locking it, and retry if not. Because new nodes are always
106
- # appended to lists, once a node is first in a bin, it remains first until
107
- # deleted or the bin becomes invalidated (upon resizing). However, operations
108
- # that only conditionally update may inspect nodes until the point of update.
109
- # This is a converse of sorts to the lazy locking technique described by
110
- # Herlihy & Shavit.
111
- #
112
- # The main disadvantage of per-bin locks is that other update operations on
113
- # other nodes in a bin list protected by the same lock can stall, for example
114
- # when user +eql?+ or mapping functions take a long time. However,
115
- # statistically, under random hash codes, this is not a common problem.
116
- # Ideally, the frequency of nodes in bins follows a Poisson distribution
117
- # (http://en.wikipedia.org/wiki/Poisson_distribution) with a parameter of
118
- # about 0.5 on average, given the resizing threshold of 0.75, although with a
119
- # large variance because of resizing granularity. Ignoring variance, the
120
- # expected occurrences of list size k are (exp(-0.5) * pow(0.5, k) /
121
- # factorial(k)). The first values are:
122
- #
123
- # - 0: 0.60653066
124
- # - 1: 0.30326533
125
- # - 2: 0.07581633
126
- # - 3: 0.01263606
127
- # - 4: 0.00157952
128
- # - 5: 0.00015795
129
- # - 6: 0.00001316
130
- # - 7: 0.00000094
131
- # - 8: 0.00000006
132
- # - more: less than 1 in ten million
133
- #
134
- # Lock contention probability for two threads accessing distinct elements is
135
- # roughly 1 / (8 * #elements) under random hashes.
136
- #
137
- # The table is resized when occupancy exceeds a percentage threshold
138
- # (nominally, 0.75, but see below). Only a single thread performs the resize
139
- # (using field +size_control+, to arrange exclusion), but the table otherwise
140
- # remains usable for reads and updates. Resizing proceeds by transferring
141
- # bins, one by one, from the table to the next table. Because we are using
142
- # power-of-two expansion, the elements from each bin must either stay at same
143
- # index, or move with a power of two offset. We eliminate unnecessary node
144
- # creation by catching cases where old nodes can be reused because their next
145
- # fields won't change. On average, only about one-sixth of them need cloning
146
- # when a table doubles. The nodes they replace will be garbage collectable as
147
- # soon as they are no longer referenced by any reader thread that may be in
148
- # the midst of concurrently traversing table. Upon transfer, the old table bin
149
- # contains only a special forwarding node (with hash field +MOVED+) that
150
- # contains the next table as its key. On encountering a forwarding node,
151
- # access and update operations restart, using the new table.
152
- #
153
- # Each bin transfer requires its bin lock. However, unlike other cases, a
154
- # transfer can skip a bin if it fails to acquire its lock, and revisit it
155
- # later. Method +rebuild+ maintains a buffer of TRANSFER_BUFFER_SIZE bins that
156
- # have been skipped because of failure to acquire a lock, and blocks only if
157
- # none are available (i.e., only very rarely). The transfer operation must
158
- # also ensure that all accessible bins in both the old and new table are
159
- # usable by any traversal. When there are no lock acquisition failures, this
160
- # is arranged simply by proceeding from the last bin (+table.size - 1+) up
161
- # towards the first. Upon seeing a forwarding node, traversals arrange to move
162
- # to the new table without revisiting nodes. However, when any node is skipped
163
- # during a transfer, all earlier table bins may have become visible, so are
164
- # initialized with a reverse-forwarding node back to the old table until the
165
- # new ones are established. (This sometimes requires transiently locking a
166
- # forwarding node, which is possible under the above encoding.) These more
167
- # expensive mechanics trigger only when necessary.
168
- #
169
- # The traversal scheme also applies to partial traversals of
170
- # ranges of bins (via an alternate Traverser constructor)
171
- # to support partitioned aggregate operations. Also, read-only
172
- # operations give up if ever forwarded to a null table, which
173
- # provides support for shutdown-style clearing, which is also not
174
- # currently implemented.
175
- #
176
- # Lazy table initialization minimizes footprint until first use.
177
- #
178
- # The element count is maintained using a +Concurrent::ThreadSafe::Util::Adder+,
179
- # which avoids contention on updates but can encounter cache thrashing
180
- # if read too frequently during concurrent access. To avoid reading so
181
- # often, resizing is attempted either when a bin lock is
182
- # contended, or upon adding to a bin already holding two or more
183
- # nodes (checked before adding in the +x_if_absent+ methods, after
184
- # adding in others). Under uniform hash distributions, the
185
- # probability of this occurring at threshold is around 13%,
186
- # meaning that only about 1 in 8 puts check threshold (and after
187
- # resizing, many fewer do so). But this approximation has high
188
- # variance for small table sizes, so we check on any collision
189
- # for sizes <= 64. The bulk putAll operation further reduces
190
- # contention by only committing count updates upon these size
191
- # checks.
192
- #
193
- # @!visibility private
194
- class AtomicReferenceMapBackend
195
-
196
- # @!visibility private
197
- class Table < Concurrent::ThreadSafe::Util::PowerOfTwoTuple
198
- def cas_new_node(i, hash, key, value)
199
- cas(i, nil, Node.new(hash, key, value))
200
- end
201
-
202
- def try_to_cas_in_computed(i, hash, key)
203
- succeeded = false
204
- new_value = nil
205
- new_node = Node.new(locked_hash = hash | LOCKED, key, NULL)
206
- if cas(i, nil, new_node)
207
- begin
208
- if NULL == (new_value = yield(NULL))
209
- was_null = true
210
- else
211
- new_node.value = new_value
212
- end
213
- succeeded = true
214
- ensure
215
- volatile_set(i, nil) if !succeeded || was_null
216
- new_node.unlock_via_hash(locked_hash, hash)
217
- end
218
- end
219
- return succeeded, new_value
220
- end
221
-
222
- def try_lock_via_hash(i, node, node_hash)
223
- node.try_lock_via_hash(node_hash) do
224
- yield if volatile_get(i) == node
225
- end
226
- end
227
-
228
- def delete_node_at(i, node, predecessor_node)
229
- if predecessor_node
230
- predecessor_node.next = node.next
231
- else
232
- volatile_set(i, node.next)
233
- end
234
- end
235
- end
236
-
237
- # Key-value entry. Nodes with a hash field of +MOVED+ are special, and do
238
- # not contain user keys or values. Otherwise, keys are never +nil+, and
239
- # +NULL+ +value+ fields indicate that a node is in the process of being
240
- # deleted or created. For purposes of read-only access, a key may be read
241
- # before a value, but can only be used after checking value to be +!= NULL+.
242
- #
243
- # @!visibility private
244
- class Node
245
- extend Concurrent::ThreadSafe::Util::Volatile
246
- attr_volatile :hash, :value, :next
247
-
248
- include Concurrent::ThreadSafe::Util::CheapLockable
249
-
250
- bit_shift = Concurrent::ThreadSafe::Util::FIXNUM_BIT_SIZE - 2 # need 2 bits for ourselves
251
- # Encodings for special uses of Node hash fields. See above for explanation.
252
- MOVED = ('10' << ('0' * bit_shift)).to_i(2) # hash field for forwarding nodes
253
- LOCKED = ('01' << ('0' * bit_shift)).to_i(2) # set/tested only as a bit
254
- WAITING = ('11' << ('0' * bit_shift)).to_i(2) # both bits set/tested together
255
- HASH_BITS = ('00' << ('1' * bit_shift)).to_i(2) # usable bits of normal node hash
256
-
257
- SPIN_LOCK_ATTEMPTS = Concurrent::ThreadSafe::Util::CPU_COUNT > 1 ? Concurrent::ThreadSafe::Util::CPU_COUNT * 2 : 0
258
-
259
- attr_reader :key
260
-
261
- def initialize(hash, key, value, next_node = nil)
262
- super()
263
- @key = key
264
- self.lazy_set_hash(hash)
265
- self.lazy_set_value(value)
266
- self.next = next_node
267
- end
268
-
269
- # Spins a while if +LOCKED+ bit set and this node is the first of its bin,
270
- # and then sets +WAITING+ bits on hash field and blocks (once) if they are
271
- # still set. It is OK for this method to return even if lock is not
272
- # available upon exit, which enables these simple single-wait mechanics.
273
- #
274
- # The corresponding signalling operation is performed within callers: Upon
275
- # detecting that +WAITING+ has been set when unlocking lock (via a failed
276
- # CAS from non-waiting +LOCKED+ state), unlockers acquire the
277
- # +cheap_synchronize+ lock and perform a +cheap_broadcast+.
278
- def try_await_lock(table, i)
279
- if table && i >= 0 && i < table.size # bounds check, TODO: why are we bounds checking?
280
- spins = SPIN_LOCK_ATTEMPTS
281
- randomizer = base_randomizer = Concurrent::ThreadSafe::Util::XorShiftRandom.get
282
- while equal?(table.volatile_get(i)) && self.class.locked_hash?(my_hash = hash)
283
- if spins >= 0
284
- if (randomizer = (randomizer >> 1)).even? # spin at random
285
- if (spins -= 1) == 0
286
- Thread.pass # yield before blocking
287
- else
288
- randomizer = base_randomizer = Concurrent::ThreadSafe::Util::XorShiftRandom.xorshift(base_randomizer) if randomizer.zero?
289
- end
290
- end
291
- elsif cas_hash(my_hash, my_hash | WAITING)
292
- force_aquire_lock(table, i)
293
- break
294
- end
295
- end
296
- end
297
- end
298
-
299
- def key?(key)
300
- @key.eql?(key)
301
- end
302
-
303
- def matches?(key, hash)
304
- pure_hash == hash && key?(key)
305
- end
306
-
307
- def pure_hash
308
- hash & HASH_BITS
309
- end
310
-
311
- def try_lock_via_hash(node_hash = hash)
312
- if cas_hash(node_hash, locked_hash = node_hash | LOCKED)
313
- begin
314
- yield
315
- ensure
316
- unlock_via_hash(locked_hash, node_hash)
317
- end
318
- end
319
- end
320
-
321
- def locked?
322
- self.class.locked_hash?(hash)
323
- end
324
-
325
- def unlock_via_hash(locked_hash, node_hash)
326
- unless cas_hash(locked_hash, node_hash)
327
- self.hash = node_hash
328
- cheap_synchronize { cheap_broadcast }
329
- end
330
- end
331
-
332
- private
333
- def force_aquire_lock(table, i)
334
- cheap_synchronize do
335
- if equal?(table.volatile_get(i)) && (hash & WAITING) == WAITING
336
- cheap_wait
337
- else
338
- cheap_broadcast # possibly won race vs signaller
339
- end
340
- end
341
- end
342
-
343
- class << self
344
- def locked_hash?(hash)
345
- (hash & LOCKED) != 0
346
- end
347
- end
348
- end
349
-
350
- # shorthands
351
- MOVED = Node::MOVED
352
- LOCKED = Node::LOCKED
353
- WAITING = Node::WAITING
354
- HASH_BITS = Node::HASH_BITS
355
-
356
- NOW_RESIZING = -1
357
- DEFAULT_CAPACITY = 16
358
- MAX_CAPACITY = Concurrent::ThreadSafe::Util::MAX_INT
359
-
360
- # The buffer size for skipped bins during transfers. The
361
- # value is arbitrary but should be large enough to avoid
362
- # most locking stalls during resizes.
363
- TRANSFER_BUFFER_SIZE = 32
364
-
365
- extend Concurrent::ThreadSafe::Util::Volatile
366
- attr_volatile :table, # The array of bins. Lazily initialized upon first insertion. Size is always a power of two.
367
-
368
- # Table initialization and resizing control. When negative, the
369
- # table is being initialized or resized. Otherwise, when table is
370
- # null, holds the initial table size to use upon creation, or 0
371
- # for default. After initialization, holds the next element count
372
- # value upon which to resize the table.
373
- :size_control
374
-
375
- def initialize(options = nil)
376
- super()
377
- @counter = Concurrent::ThreadSafe::Util::Adder.new
378
- initial_capacity = options && options[:initial_capacity] || DEFAULT_CAPACITY
379
- self.size_control = (capacity = table_size_for(initial_capacity)) > MAX_CAPACITY ? MAX_CAPACITY : capacity
380
- end
381
-
382
- def get_or_default(key, else_value = nil)
383
- hash = key_hash(key)
384
- current_table = table
385
- while current_table
386
- node = current_table.volatile_get_by_hash(hash)
387
- current_table =
388
- while node
389
- if (node_hash = node.hash) == MOVED
390
- break node.key
391
- elsif (node_hash & HASH_BITS) == hash && node.key?(key) && NULL != (value = node.value)
392
- return value
393
- end
394
- node = node.next
395
- end
396
- end
397
- else_value
398
- end
399
-
400
- def [](key)
401
- get_or_default(key)
402
- end
403
-
404
- def key?(key)
405
- get_or_default(key, NULL) != NULL
406
- end
407
-
408
- def []=(key, value)
409
- get_and_set(key, value)
410
- value
411
- end
412
-
413
- def compute_if_absent(key)
414
- hash = key_hash(key)
415
- current_table = table || initialize_table
416
- while true
417
- if !(node = current_table.volatile_get(i = current_table.hash_to_index(hash)))
418
- succeeded, new_value = current_table.try_to_cas_in_computed(i, hash, key) { yield }
419
- if succeeded
420
- increment_size
421
- return new_value
422
- end
423
- elsif (node_hash = node.hash) == MOVED
424
- current_table = node.key
425
- elsif NULL != (current_value = find_value_in_node_list(node, key, hash, node_hash & HASH_BITS))
426
- return current_value
427
- elsif Node.locked_hash?(node_hash)
428
- try_await_lock(current_table, i, node)
429
- else
430
- succeeded, value = attempt_internal_compute_if_absent(key, hash, current_table, i, node, node_hash) { yield }
431
- return value if succeeded
432
- end
433
- end
434
- end
435
-
436
- def compute_if_present(key)
437
- new_value = nil
438
- internal_replace(key) do |old_value|
439
- if (new_value = yield(NULL == old_value ? nil : old_value)).nil?
440
- NULL
441
- else
442
- new_value
443
- end
444
- end
445
- new_value
446
- end
447
-
448
- def compute(key)
449
- internal_compute(key) do |old_value|
450
- if (new_value = yield(NULL == old_value ? nil : old_value)).nil?
451
- NULL
452
- else
453
- new_value
454
- end
455
- end
456
- end
457
-
458
- def merge_pair(key, value)
459
- internal_compute(key) do |old_value|
460
- if NULL == old_value || !(value = yield(old_value)).nil?
461
- value
462
- else
463
- NULL
464
- end
465
- end
466
- end
467
-
468
- def replace_pair(key, old_value, new_value)
469
- NULL != internal_replace(key, old_value) { new_value }
470
- end
471
-
472
- def replace_if_exists(key, new_value)
473
- if (result = internal_replace(key) { new_value }) && NULL != result
474
- result
475
- end
476
- end
477
-
478
- def get_and_set(key, value) # internalPut in the original CHMV8
479
- hash = key_hash(key)
480
- current_table = table || initialize_table
481
- while true
482
- if !(node = current_table.volatile_get(i = current_table.hash_to_index(hash)))
483
- if current_table.cas_new_node(i, hash, key, value)
484
- increment_size
485
- break
486
- end
487
- elsif (node_hash = node.hash) == MOVED
488
- current_table = node.key
489
- elsif Node.locked_hash?(node_hash)
490
- try_await_lock(current_table, i, node)
491
- else
492
- succeeded, old_value = attempt_get_and_set(key, value, hash, current_table, i, node, node_hash)
493
- break old_value if succeeded
494
- end
495
- end
496
- end
497
-
498
- def delete(key)
499
- replace_if_exists(key, NULL)
500
- end
501
-
502
- def delete_pair(key, value)
503
- result = internal_replace(key, value) { NULL }
504
- if result && NULL != result
505
- !!result
506
- else
507
- false
508
- end
509
- end
510
-
511
- def each_pair
512
- return self unless current_table = table
513
- current_table_size = base_size = current_table.size
514
- i = base_index = 0
515
- while base_index < base_size
516
- if node = current_table.volatile_get(i)
517
- if node.hash == MOVED
518
- current_table = node.key
519
- current_table_size = current_table.size
520
- else
521
- begin
522
- if NULL != (value = node.value) # skip deleted or special nodes
523
- yield node.key, value
524
- end
525
- end while node = node.next
526
- end
527
- end
528
-
529
- if (i_with_base = i + base_size) < current_table_size
530
- i = i_with_base # visit upper slots if present
531
- else
532
- i = base_index += 1
533
- end
534
- end
535
- self
536
- end
537
-
538
- def size
539
- (sum = @counter.sum) < 0 ? 0 : sum # ignore transient negative values
540
- end
541
-
542
- def empty?
543
- size == 0
544
- end
545
-
546
- # Implementation for clear. Steps through each bin, removing all nodes.
547
- def clear
548
- return self unless current_table = table
549
- current_table_size = current_table.size
550
- deleted_count = i = 0
551
- while i < current_table_size
552
- if !(node = current_table.volatile_get(i))
553
- i += 1
554
- elsif (node_hash = node.hash) == MOVED
555
- current_table = node.key
556
- current_table_size = current_table.size
557
- elsif Node.locked_hash?(node_hash)
558
- decrement_size(deleted_count) # opportunistically update count
559
- deleted_count = 0
560
- node.try_await_lock(current_table, i)
561
- else
562
- current_table.try_lock_via_hash(i, node, node_hash) do
563
- begin
564
- deleted_count += 1 if NULL != node.value # recheck under lock
565
- node.value = nil
566
- end while node = node.next
567
- current_table.volatile_set(i, nil)
568
- i += 1
569
- end
570
- end
571
- end
572
- decrement_size(deleted_count)
573
- self
574
- end
575
-
576
- private
577
- # Internal versions of the insertion methods, each a
578
- # little more complicated than the last. All have
579
- # the same basic structure:
580
- # 1. If table uninitialized, create
581
- # 2. If bin empty, try to CAS new node
582
- # 3. If bin stale, use new table
583
- # 4. Lock and validate; if valid, scan and add or update
584
- #
585
- # The others interweave other checks and/or alternative actions:
586
- # * Plain +get_and_set+ checks for and performs resize after insertion.
587
- # * compute_if_absent prescans for mapping without lock (and fails to add
588
- # if present), which also makes pre-emptive resize checks worthwhile.
589
- #
590
- # Someday when details settle down a bit more, it might be worth
591
- # some factoring to reduce sprawl.
592
- def internal_replace(key, expected_old_value = NULL, &block)
593
- hash = key_hash(key)
594
- current_table = table
595
- while current_table
596
- if !(node = current_table.volatile_get(i = current_table.hash_to_index(hash)))
597
- break
598
- elsif (node_hash = node.hash) == MOVED
599
- current_table = node.key
600
- elsif (node_hash & HASH_BITS) != hash && !node.next # precheck
601
- break # rules out possible existence
602
- elsif Node.locked_hash?(node_hash)
603
- try_await_lock(current_table, i, node)
604
- else
605
- succeeded, old_value = attempt_internal_replace(key, expected_old_value, hash, current_table, i, node, node_hash, &block)
606
- return old_value if succeeded
607
- end
608
- end
609
- NULL
610
- end
611
-
612
- def attempt_internal_replace(key, expected_old_value, hash, current_table, i, node, node_hash)
613
- current_table.try_lock_via_hash(i, node, node_hash) do
614
- predecessor_node = nil
615
- old_value = NULL
616
- begin
617
- if node.matches?(key, hash) && NULL != (current_value = node.value)
618
- if NULL == expected_old_value || expected_old_value == current_value # NULL == expected_old_value means whatever value
619
- old_value = current_value
620
- if NULL == (node.value = yield(old_value))
621
- current_table.delete_node_at(i, node, predecessor_node)
622
- decrement_size
623
- end
624
- end
625
- break
626
- end
627
-
628
- predecessor_node = node
629
- end while node = node.next
630
-
631
- return true, old_value
632
- end
633
- end
634
-
635
- def find_value_in_node_list(node, key, hash, pure_hash)
636
- do_check_for_resize = false
637
- while true
638
- if pure_hash == hash && node.key?(key) && NULL != (value = node.value)
639
- return value
640
- elsif node = node.next
641
- do_check_for_resize = true # at least 2 nodes -> check for resize
642
- pure_hash = node.pure_hash
643
- else
644
- return NULL
645
- end
646
- end
647
- ensure
648
- check_for_resize if do_check_for_resize
649
- end
650
-
651
- def internal_compute(key, &block)
652
- hash = key_hash(key)
653
- current_table = table || initialize_table
654
- while true
655
- if !(node = current_table.volatile_get(i = current_table.hash_to_index(hash)))
656
- succeeded, new_value = current_table.try_to_cas_in_computed(i, hash, key, &block)
657
- if succeeded
658
- if NULL == new_value
659
- break nil
660
- else
661
- increment_size
662
- break new_value
663
- end
664
- end
665
- elsif (node_hash = node.hash) == MOVED
666
- current_table = node.key
667
- elsif Node.locked_hash?(node_hash)
668
- try_await_lock(current_table, i, node)
669
- else
670
- succeeded, new_value = attempt_compute(key, hash, current_table, i, node, node_hash, &block)
671
- break new_value if succeeded
672
- end
673
- end
674
- end
675
-
676
- def attempt_internal_compute_if_absent(key, hash, current_table, i, node, node_hash)
677
- added = false
678
- current_table.try_lock_via_hash(i, node, node_hash) do
679
- while true
680
- if node.matches?(key, hash) && NULL != (value = node.value)
681
- return true, value
682
- end
683
- last = node
684
- unless node = node.next
685
- last.next = Node.new(hash, key, value = yield)
686
- added = true
687
- increment_size
688
- return true, value
689
- end
690
- end
691
- end
692
- ensure
693
- check_for_resize if added
694
- end
695
-
696
- def attempt_compute(key, hash, current_table, i, node, node_hash)
697
- added = false
698
- current_table.try_lock_via_hash(i, node, node_hash) do
699
- predecessor_node = nil
700
- while true
701
- if node.matches?(key, hash) && NULL != (value = node.value)
702
- if NULL == (node.value = value = yield(value))
703
- current_table.delete_node_at(i, node, predecessor_node)
704
- decrement_size
705
- value = nil
706
- end
707
- return true, value
708
- end
709
- predecessor_node = node
710
- unless node = node.next
711
- if NULL == (value = yield(NULL))
712
- value = nil
713
- else
714
- predecessor_node.next = Node.new(hash, key, value)
715
- added = true
716
- increment_size
717
- end
718
- return true, value
719
- end
720
- end
721
- end
722
- ensure
723
- check_for_resize if added
724
- end
725
-
726
- def attempt_get_and_set(key, value, hash, current_table, i, node, node_hash)
727
- node_nesting = nil
728
- current_table.try_lock_via_hash(i, node, node_hash) do
729
- node_nesting = 1
730
- old_value = nil
731
- found_old_value = false
732
- while node
733
- if node.matches?(key, hash) && NULL != (old_value = node.value)
734
- found_old_value = true
735
- node.value = value
736
- break
737
- end
738
- last = node
739
- unless node = node.next
740
- last.next = Node.new(hash, key, value)
741
- break
742
- end
743
- node_nesting += 1
744
- end
745
-
746
- return true, old_value if found_old_value
747
- increment_size
748
- true
749
- end
750
- ensure
751
- check_for_resize if node_nesting && (node_nesting > 1 || current_table.size <= 64)
752
- end
753
-
754
- def initialize_copy(other)
755
- super
756
- @counter = Concurrent::ThreadSafe::Util::Adder.new
757
- self.table = nil
758
- self.size_control = (other_table = other.table) ? other_table.size : DEFAULT_CAPACITY
759
- self
760
- end
761
-
762
- def try_await_lock(current_table, i, node)
763
- check_for_resize # try resizing if can't get lock
764
- node.try_await_lock(current_table, i)
765
- end
766
-
767
- def key_hash(key)
768
- key.hash & HASH_BITS
769
- end
770
-
771
- # Returns a power of two table size for the given desired capacity.
772
- def table_size_for(entry_count)
773
- size = 2
774
- size <<= 1 while size < entry_count
775
- size
776
- end
777
-
778
- # Initializes table, using the size recorded in +size_control+.
779
- def initialize_table
780
- until current_table ||= table
781
- if (size_ctrl = size_control) == NOW_RESIZING
782
- Thread.pass # lost initialization race; just spin
783
- else
784
- try_in_resize_lock(current_table, size_ctrl) do
785
- initial_size = size_ctrl > 0 ? size_ctrl : DEFAULT_CAPACITY
786
- current_table = self.table = Table.new(initial_size)
787
- initial_size - (initial_size >> 2) # 75% load factor
788
- end
789
- end
790
- end
791
- current_table
792
- end
793
-
794
- # If table is too small and not already resizing, creates next table and
795
- # transfers bins. Rechecks occupancy after a transfer to see if another
796
- # resize is already needed because resizings are lagging additions.
797
- def check_for_resize
798
- while (current_table = table) && MAX_CAPACITY > (table_size = current_table.size) && NOW_RESIZING != (size_ctrl = size_control) && size_ctrl < @counter.sum
799
- try_in_resize_lock(current_table, size_ctrl) do
800
- self.table = rebuild(current_table)
801
- (table_size << 1) - (table_size >> 1) # 75% load factor
802
- end
803
- end
804
- end
805
-
806
- def try_in_resize_lock(current_table, size_ctrl)
807
- if cas_size_control(size_ctrl, NOW_RESIZING)
808
- begin
809
- if current_table == table # recheck under lock
810
- size_ctrl = yield # get new size_control
811
- end
812
- ensure
813
- self.size_control = size_ctrl
814
- end
815
- end
816
- end
817
-
818
- # Moves and/or copies the nodes in each bin to new table. See above for explanation.
819
- def rebuild(table)
820
- old_table_size = table.size
821
- new_table = table.next_in_size_table
822
- # puts "#{old_table_size} -> #{new_table.size}"
823
- forwarder = Node.new(MOVED, new_table, NULL)
824
- rev_forwarder = nil
825
- locked_indexes = nil # holds bins to revisit; nil until needed
826
- locked_arr_idx = 0
827
- bin = old_table_size - 1
828
- i = bin
829
- while true
830
- if !(node = table.volatile_get(i))
831
- # no lock needed (or available) if bin >= 0, because we're not popping values from locked_indexes until we've run through the whole table
832
- redo unless (bin >= 0 ? table.cas(i, nil, forwarder) : lock_and_clean_up_reverse_forwarders(table, old_table_size, new_table, i, forwarder))
833
- elsif Node.locked_hash?(node_hash = node.hash)
834
- locked_indexes ||= Array.new
835
- if bin < 0 && locked_arr_idx > 0
836
- locked_arr_idx -= 1
837
- i, locked_indexes[locked_arr_idx] = locked_indexes[locked_arr_idx], i # swap with another bin
838
- redo
839
- end
840
- if bin < 0 || locked_indexes.size >= TRANSFER_BUFFER_SIZE
841
- node.try_await_lock(table, i) # no other options -- block
842
- redo
843
- end
844
- rev_forwarder ||= Node.new(MOVED, table, NULL)
845
- redo unless table.volatile_get(i) == node && node.locked? # recheck before adding to list
846
- locked_indexes << i
847
- new_table.volatile_set(i, rev_forwarder)
848
- new_table.volatile_set(i + old_table_size, rev_forwarder)
849
- else
850
- redo unless split_old_bin(table, new_table, i, node, node_hash, forwarder)
851
- end
852
-
853
- if bin > 0
854
- i = (bin -= 1)
855
- elsif locked_indexes && !locked_indexes.empty?
856
- bin = -1
857
- i = locked_indexes.pop
858
- locked_arr_idx = locked_indexes.size - 1
859
- else
860
- return new_table
861
- end
862
- end
863
- end
864
-
865
- def lock_and_clean_up_reverse_forwarders(old_table, old_table_size, new_table, i, forwarder)
866
- # transiently use a locked forwarding node
867
- locked_forwarder = Node.new(moved_locked_hash = MOVED | LOCKED, new_table, NULL)
868
- if old_table.cas(i, nil, locked_forwarder)
869
- new_table.volatile_set(i, nil) # kill the potential reverse forwarders
870
- new_table.volatile_set(i + old_table_size, nil) # kill the potential reverse forwarders
871
- old_table.volatile_set(i, forwarder)
872
- locked_forwarder.unlock_via_hash(moved_locked_hash, MOVED)
873
- true
874
- end
875
- end
876
-
877
- # Splits a normal bin with list headed by e into lo and hi parts; installs in given table.
878
- def split_old_bin(table, new_table, i, node, node_hash, forwarder)
879
- table.try_lock_via_hash(i, node, node_hash) do
880
- split_bin(new_table, i, node, node_hash)
881
- table.volatile_set(i, forwarder)
882
- end
883
- end
884
-
885
- def split_bin(new_table, i, node, node_hash)
886
- bit = new_table.size >> 1 # bit to split on
887
- run_bit = node_hash & bit
888
- last_run = nil
889
- low = nil
890
- high = nil
891
- current_node = node
892
- # this optimises for the lowest amount of volatile writes and objects created
893
- while current_node = current_node.next
894
- unless (b = current_node.hash & bit) == run_bit
895
- run_bit = b
896
- last_run = current_node
897
- end
898
- end
899
- if run_bit == 0
900
- low = last_run
901
- else
902
- high = last_run
903
- end
904
- current_node = node
905
- until current_node == last_run
906
- pure_hash = current_node.pure_hash
907
- if (pure_hash & bit) == 0
908
- low = Node.new(pure_hash, current_node.key, current_node.value, low)
909
- else
910
- high = Node.new(pure_hash, current_node.key, current_node.value, high)
911
- end
912
- current_node = current_node.next
913
- end
914
- new_table.volatile_set(i, low)
915
- new_table.volatile_set(i + bit, high)
916
- end
917
-
918
- def increment_size
919
- @counter.increment
920
- end
921
-
922
- def decrement_size(by = 1)
923
- @counter.add(-by)
924
- end
925
- end
926
- end
927
- end