nullifyable 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1437) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +5 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +52 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +53 -0
  9. data/Rakefile +10 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/lib/nullifyable.rb +27 -0
  13. data/lib/nullifyable/version.rb +3 -0
  14. data/nullifyable.gemspec +31 -0
  15. data/vendor/bundle/bin/rake +27 -0
  16. data/vendor/bundle/cache/activemodel-5.2.2.gem +0 -0
  17. data/vendor/bundle/cache/activerecord-5.2.2.gem +0 -0
  18. data/vendor/bundle/cache/activesupport-5.2.2.gem +0 -0
  19. data/vendor/bundle/cache/ansi-1.5.0.gem +0 -0
  20. data/vendor/bundle/cache/arel-9.0.0.gem +0 -0
  21. data/vendor/bundle/cache/builder-3.2.3.gem +0 -0
  22. data/vendor/bundle/cache/concurrent-ruby-1.1.4.gem +0 -0
  23. data/vendor/bundle/cache/i18n-1.3.0.gem +0 -0
  24. data/vendor/bundle/cache/minitest-5.11.3.gem +0 -0
  25. data/vendor/bundle/cache/minitest-reporters-1.3.5.gem +0 -0
  26. data/vendor/bundle/cache/rake-10.5.0.gem +0 -0
  27. data/vendor/bundle/cache/ruby-progressbar-1.10.0.gem +0 -0
  28. data/vendor/bundle/cache/sqlite3-1.3.13.gem +0 -0
  29. data/vendor/bundle/cache/thread_safe-0.3.6.gem +0 -0
  30. data/vendor/bundle/cache/tzinfo-1.2.5.gem +0 -0
  31. data/vendor/bundle/extensions/x86_64-darwin-14/2.3.0-static/sqlite3-1.3.13/gem.build_complete +0 -0
  32. data/vendor/bundle/extensions/x86_64-darwin-14/2.3.0-static/sqlite3-1.3.13/gem_make.out +33 -0
  33. data/vendor/bundle/extensions/x86_64-darwin-14/2.3.0-static/sqlite3-1.3.13/mkmf.log +529 -0
  34. data/vendor/bundle/extensions/x86_64-darwin-14/2.3.0-static/sqlite3-1.3.13/sqlite3/sqlite3_native.bundle +0 -0
  35. data/vendor/bundle/gems/activemodel-5.2.2/CHANGELOG.md +84 -0
  36. data/vendor/bundle/gems/activemodel-5.2.2/MIT-LICENSE +21 -0
  37. data/vendor/bundle/gems/activemodel-5.2.2/README.rdoc +264 -0
  38. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model.rb +77 -0
  39. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/attribute.rb +248 -0
  40. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/attribute/user_provided_default.rb +52 -0
  41. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/attribute_assignment.rb +57 -0
  42. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/attribute_methods.rb +478 -0
  43. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/attribute_mutation_tracker.rb +124 -0
  44. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/attribute_set.rb +114 -0
  45. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/attribute_set/builder.rb +126 -0
  46. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/attribute_set/yaml_encoder.rb +41 -0
  47. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/attributes.rb +111 -0
  48. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/callbacks.rb +153 -0
  49. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/conversion.rb +111 -0
  50. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/dirty.rb +343 -0
  51. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/errors.rb +517 -0
  52. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/forbidden_attributes_protection.rb +31 -0
  53. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/gem_version.rb +17 -0
  54. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/lint.rb +118 -0
  55. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/locale/en.yml +36 -0
  56. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/model.rb +99 -0
  57. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/naming.rb +318 -0
  58. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/railtie.rb +14 -0
  59. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/secure_password.rb +129 -0
  60. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/serialization.rb +192 -0
  61. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/serializers/json.rb +146 -0
  62. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/translation.rb +70 -0
  63. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type.rb +53 -0
  64. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/big_integer.rb +15 -0
  65. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/binary.rb +52 -0
  66. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/boolean.rb +38 -0
  67. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/date.rb +56 -0
  68. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/date_time.rb +50 -0
  69. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/decimal.rb +70 -0
  70. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/float.rb +36 -0
  71. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/helpers.rb +6 -0
  72. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/helpers/accepts_multiparameter_time.rb +41 -0
  73. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/helpers/mutable.rb +20 -0
  74. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/helpers/numeric.rb +37 -0
  75. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/helpers/time_value.rb +80 -0
  76. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/immutable_string.rb +32 -0
  77. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/integer.rb +70 -0
  78. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/registry.rb +70 -0
  79. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/string.rb +26 -0
  80. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/time.rb +46 -0
  81. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/type/value.rb +126 -0
  82. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations.rb +439 -0
  83. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/absence.rb +33 -0
  84. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/acceptance.rb +106 -0
  85. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/callbacks.rb +122 -0
  86. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/clusivity.rb +54 -0
  87. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/confirmation.rb +80 -0
  88. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/exclusion.rb +49 -0
  89. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/format.rb +114 -0
  90. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/helper_methods.rb +15 -0
  91. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/inclusion.rb +47 -0
  92. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/length.rb +129 -0
  93. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/numericality.rb +180 -0
  94. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/presence.rb +39 -0
  95. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/validates.rb +174 -0
  96. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validations/with.rb +147 -0
  97. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/validator.rb +183 -0
  98. data/vendor/bundle/gems/activemodel-5.2.2/lib/active_model/version.rb +10 -0
  99. data/vendor/bundle/gems/activerecord-5.2.2/CHANGELOG.md +895 -0
  100. data/vendor/bundle/gems/activerecord-5.2.2/MIT-LICENSE +20 -0
  101. data/vendor/bundle/gems/activerecord-5.2.2/README.rdoc +217 -0
  102. data/vendor/bundle/gems/activerecord-5.2.2/examples/performance.rb +185 -0
  103. data/vendor/bundle/gems/activerecord-5.2.2/examples/simple.rb +15 -0
  104. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record.rb +188 -0
  105. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/aggregations.rb +283 -0
  106. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/association_relation.rb +40 -0
  107. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations.rb +1860 -0
  108. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/alias_tracker.rb +81 -0
  109. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/association.rb +299 -0
  110. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/association_scope.rb +168 -0
  111. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/belongs_to_association.rb +130 -0
  112. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/belongs_to_polymorphic_association.rb +40 -0
  113. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/builder/association.rb +140 -0
  114. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/builder/belongs_to.rb +163 -0
  115. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/builder/collection_association.rb +82 -0
  116. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/builder/has_and_belongs_to_many.rb +135 -0
  117. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/builder/has_many.rb +17 -0
  118. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/builder/has_one.rb +30 -0
  119. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/builder/singular_association.rb +42 -0
  120. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/collection_association.rb +514 -0
  121. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/collection_proxy.rb +1157 -0
  122. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/foreign_association.rb +13 -0
  123. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/has_many_association.rb +143 -0
  124. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/has_many_through_association.rb +225 -0
  125. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/has_one_association.rb +120 -0
  126. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/has_one_through_association.rb +45 -0
  127. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/join_dependency.rb +262 -0
  128. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/join_dependency/join_association.rb +60 -0
  129. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/join_dependency/join_base.rb +23 -0
  130. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/join_dependency/join_part.rb +71 -0
  131. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/preloader.rb +193 -0
  132. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/preloader/association.rb +131 -0
  133. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/preloader/through_association.rb +107 -0
  134. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/singular_association.rb +73 -0
  135. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/associations/through_association.rb +121 -0
  136. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_assignment.rb +88 -0
  137. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_decorators.rb +90 -0
  138. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_methods.rb +492 -0
  139. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_methods/before_type_cast.rb +78 -0
  140. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_methods/dirty.rb +150 -0
  141. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_methods/primary_key.rb +143 -0
  142. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_methods/query.rb +42 -0
  143. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_methods/read.rb +85 -0
  144. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_methods/serialization.rb +90 -0
  145. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_methods/time_zone_conversion.rb +91 -0
  146. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attribute_methods/write.rb +68 -0
  147. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/attributes.rb +266 -0
  148. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/autosave_association.rb +498 -0
  149. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/base.rb +329 -0
  150. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/callbacks.rb +353 -0
  151. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/coders/json.rb +15 -0
  152. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/coders/yaml_column.rb +50 -0
  153. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/collection_cache_key.rb +53 -0
  154. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb +1064 -0
  155. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/database_limits.rb +72 -0
  156. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb +532 -0
  157. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb +140 -0
  158. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/quoting.rb +200 -0
  159. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/savepoints.rb +23 -0
  160. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/schema_creation.rb +146 -0
  161. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/schema_definitions.rb +685 -0
  162. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/schema_dumper.rb +95 -0
  163. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/schema_statements.rb +1396 -0
  164. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/transaction.rb +283 -0
  165. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb +626 -0
  166. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +877 -0
  167. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/column.rb +91 -0
  168. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/connection_specification.rb +287 -0
  169. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb +33 -0
  170. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/column.rb +27 -0
  171. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/database_statements.rb +140 -0
  172. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb +72 -0
  173. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/quoting.rb +44 -0
  174. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/schema_creation.rb +73 -0
  175. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/schema_definitions.rb +87 -0
  176. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/schema_dumper.rb +80 -0
  177. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/schema_statements.rb +148 -0
  178. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql/type_metadata.rb +35 -0
  179. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/mysql2_adapter.rb +129 -0
  180. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/column.rb +44 -0
  181. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/database_statements.rb +163 -0
  182. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/explain_pretty_printer.rb +44 -0
  183. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid.rb +34 -0
  184. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/array.rb +92 -0
  185. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/bit.rb +56 -0
  186. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/bit_varying.rb +15 -0
  187. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/bytea.rb +17 -0
  188. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/cidr.rb +50 -0
  189. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/date.rb +23 -0
  190. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/date_time.rb +23 -0
  191. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/decimal.rb +15 -0
  192. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/enum.rb +21 -0
  193. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/hstore.rb +71 -0
  194. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/inet.rb +15 -0
  195. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/jsonb.rb +15 -0
  196. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/legacy_point.rb +45 -0
  197. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/money.rb +41 -0
  198. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/oid.rb +15 -0
  199. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/point.rb +65 -0
  200. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/range.rb +97 -0
  201. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/specialized_string.rb +18 -0
  202. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/type_map_initializer.rb +111 -0
  203. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/uuid.rb +23 -0
  204. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/vector.rb +28 -0
  205. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/oid/xml.rb +30 -0
  206. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/quoting.rb +168 -0
  207. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/referential_integrity.rb +43 -0
  208. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/schema_creation.rb +29 -0
  209. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +206 -0
  210. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/schema_dumper.rb +50 -0
  211. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/schema_statements.rb +792 -0
  212. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/type_metadata.rb +39 -0
  213. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/utils.rb +81 -0
  214. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb +863 -0
  215. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/schema_cache.rb +118 -0
  216. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/sql_type_metadata.rb +34 -0
  217. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/sqlite3/explain_pretty_printer.rb +21 -0
  218. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/sqlite3/quoting.rb +63 -0
  219. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/sqlite3/schema_creation.rb +17 -0
  220. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/sqlite3/schema_definitions.rb +19 -0
  221. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/sqlite3/schema_dumper.rb +18 -0
  222. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +106 -0
  223. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/sqlite3_adapter.rb +573 -0
  224. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_adapters/statement_pool.rb +61 -0
  225. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/connection_handling.rb +145 -0
  226. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/core.rb +558 -0
  227. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/counter_cache.rb +218 -0
  228. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/define_callbacks.rb +22 -0
  229. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/dynamic_matchers.rb +122 -0
  230. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/enum.rb +244 -0
  231. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/errors.rb +374 -0
  232. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/explain.rb +50 -0
  233. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/explain_registry.rb +32 -0
  234. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/explain_subscriber.rb +34 -0
  235. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/fixture_set/file.rb +82 -0
  236. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/fixtures.rb +1065 -0
  237. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/gem_version.rb +17 -0
  238. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/inheritance.rb +283 -0
  239. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/integration.rb +155 -0
  240. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/internal_metadata.rb +45 -0
  241. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/legacy_yaml_adapter.rb +48 -0
  242. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/locale/en.yml +48 -0
  243. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/locking/optimistic.rb +198 -0
  244. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/locking/pessimistic.rb +89 -0
  245. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/log_subscriber.rb +137 -0
  246. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/migration.rb +1378 -0
  247. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/migration/command_recorder.rb +240 -0
  248. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/migration/compatibility.rb +217 -0
  249. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/migration/join_table.rb +17 -0
  250. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/model_schema.rb +521 -0
  251. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/nested_attributes.rb +600 -0
  252. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/no_touching.rb +58 -0
  253. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/null_relation.rb +68 -0
  254. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/persistence.rb +761 -0
  255. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/query_cache.rb +45 -0
  256. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/querying.rb +71 -0
  257. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/railtie.rb +226 -0
  258. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/railties/console_sandbox.rb +7 -0
  259. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/railties/controller_runtime.rb +56 -0
  260. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/railties/databases.rake +377 -0
  261. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/readonly_attributes.rb +24 -0
  262. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/reflection.rb +1044 -0
  263. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation.rb +629 -0
  264. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/batches.rb +287 -0
  265. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/batches/batch_enumerator.rb +69 -0
  266. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/calculations.rb +414 -0
  267. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/delegation.rb +147 -0
  268. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/finder_methods.rb +561 -0
  269. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/from_clause.rb +26 -0
  270. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/merger.rb +190 -0
  271. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/predicate_builder.rb +147 -0
  272. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/predicate_builder/array_handler.rb +48 -0
  273. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/predicate_builder/association_query_value.rb +46 -0
  274. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/predicate_builder/base_handler.rb +19 -0
  275. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/predicate_builder/basic_object_handler.rb +20 -0
  276. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/predicate_builder/polymorphic_array_value.rb +56 -0
  277. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/predicate_builder/range_handler.rb +42 -0
  278. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/predicate_builder/relation_handler.rb +19 -0
  279. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/query_attribute.rb +43 -0
  280. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/query_methods.rb +1208 -0
  281. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/record_fetch_warning.rb +51 -0
  282. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/spawn_methods.rb +77 -0
  283. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/where_clause.rb +186 -0
  284. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/relation/where_clause_factory.rb +34 -0
  285. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/result.rb +149 -0
  286. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/runtime_registry.rb +24 -0
  287. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/sanitization.rb +222 -0
  288. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/schema.rb +70 -0
  289. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/schema_dumper.rb +255 -0
  290. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/schema_migration.rb +56 -0
  291. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/scoping.rb +106 -0
  292. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/scoping/default.rb +152 -0
  293. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/scoping/named.rb +213 -0
  294. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/secure_token.rb +40 -0
  295. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/serialization.rb +22 -0
  296. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/statement_cache.rb +121 -0
  297. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/store.rb +211 -0
  298. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/suppressor.rb +61 -0
  299. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/table_metadata.rb +82 -0
  300. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/tasks/database_tasks.rb +337 -0
  301. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/tasks/mysql_database_tasks.rb +115 -0
  302. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/tasks/postgresql_database_tasks.rb +143 -0
  303. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/tasks/sqlite_database_tasks.rb +83 -0
  304. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/timestamp.rb +153 -0
  305. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/touch_later.rb +64 -0
  306. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/transactions.rb +502 -0
  307. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/translation.rb +24 -0
  308. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type.rb +79 -0
  309. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/adapter_specific_registry.rb +136 -0
  310. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/date.rb +9 -0
  311. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/date_time.rb +9 -0
  312. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/decimal_without_scale.rb +15 -0
  313. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/hash_lookup_type_map.rb +25 -0
  314. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/internal/timezone.rb +17 -0
  315. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/json.rb +30 -0
  316. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/serialized.rb +71 -0
  317. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/text.rb +11 -0
  318. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/time.rb +21 -0
  319. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/type_map.rb +62 -0
  320. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type/unsigned_integer.rb +17 -0
  321. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type_caster.rb +9 -0
  322. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type_caster/connection.rb +33 -0
  323. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/type_caster/map.rb +23 -0
  324. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/validations.rb +93 -0
  325. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/validations/absence.rb +25 -0
  326. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/validations/associated.rb +60 -0
  327. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/validations/length.rb +26 -0
  328. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/validations/presence.rb +68 -0
  329. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/validations/uniqueness.rb +238 -0
  330. data/vendor/bundle/gems/activerecord-5.2.2/lib/active_record/version.rb +10 -0
  331. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record.rb +19 -0
  332. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record/application_record/application_record_generator.rb +27 -0
  333. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record/application_record/templates/application_record.rb.tt +5 -0
  334. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record/migration.rb +35 -0
  335. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record/migration/migration_generator.rb +78 -0
  336. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record/migration/templates/create_table_migration.rb.tt +24 -0
  337. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record/migration/templates/migration.rb.tt +46 -0
  338. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record/model/model_generator.rb +48 -0
  339. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record/model/templates/model.rb.tt +13 -0
  340. data/vendor/bundle/gems/activerecord-5.2.2/lib/rails/generators/active_record/model/templates/module.rb.tt +7 -0
  341. data/vendor/bundle/gems/activesupport-5.2.2/CHANGELOG.md +572 -0
  342. data/vendor/bundle/gems/activesupport-5.2.2/MIT-LICENSE +20 -0
  343. data/vendor/bundle/gems/activesupport-5.2.2/README.rdoc +39 -0
  344. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support.rb +95 -0
  345. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/all.rb +5 -0
  346. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/array_inquirer.rb +48 -0
  347. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/backtrace_cleaner.rb +105 -0
  348. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/benchmarkable.rb +51 -0
  349. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/builder.rb +8 -0
  350. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/cache.rb +808 -0
  351. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/cache/file_store.rb +196 -0
  352. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/cache/mem_cache_store.rb +207 -0
  353. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/cache/memory_store.rb +169 -0
  354. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/cache/null_store.rb +43 -0
  355. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/cache/redis_cache_store.rb +461 -0
  356. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/cache/strategy/local_cache.rb +194 -0
  357. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/cache/strategy/local_cache_middleware.rb +45 -0
  358. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/callbacks.rb +845 -0
  359. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/concern.rb +144 -0
  360. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb +17 -0
  361. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/concurrency/share_lock.rb +227 -0
  362. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/configurable.rb +150 -0
  363. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext.rb +5 -0
  364. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/array.rb +9 -0
  365. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/array/access.rb +92 -0
  366. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/array/conversions.rb +213 -0
  367. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/array/extract_options.rb +31 -0
  368. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/array/grouping.rb +109 -0
  369. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/array/inquiry.rb +19 -0
  370. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/array/prepend_and_append.rb +9 -0
  371. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/array/wrap.rb +48 -0
  372. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/benchmark.rb +16 -0
  373. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/big_decimal.rb +3 -0
  374. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/big_decimal/conversions.rb +14 -0
  375. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/class.rb +4 -0
  376. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/class/attribute.rb +146 -0
  377. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/class/attribute_accessors.rb +6 -0
  378. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/class/subclasses.rb +54 -0
  379. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date.rb +7 -0
  380. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date/acts_like.rb +10 -0
  381. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date/blank.rb +14 -0
  382. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date/calculations.rb +145 -0
  383. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date/conversions.rb +96 -0
  384. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date/zones.rb +8 -0
  385. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date_and_time/calculations.rb +374 -0
  386. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date_and_time/compatibility.rb +16 -0
  387. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date_and_time/zones.rb +41 -0
  388. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date_time.rb +7 -0
  389. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date_time/acts_like.rb +16 -0
  390. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date_time/blank.rb +14 -0
  391. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date_time/calculations.rb +211 -0
  392. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date_time/compatibility.rb +18 -0
  393. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/date_time/conversions.rb +107 -0
  394. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/digest/uuid.rb +53 -0
  395. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/enumerable.rb +164 -0
  396. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/file.rb +3 -0
  397. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/file/atomic.rb +70 -0
  398. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash.rb +11 -0
  399. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash/compact.rb +29 -0
  400. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash/conversions.rb +263 -0
  401. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash/deep_merge.rb +34 -0
  402. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash/except.rb +24 -0
  403. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash/indifferent_access.rb +24 -0
  404. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash/keys.rb +172 -0
  405. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash/reverse_merge.rb +25 -0
  406. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash/slice.rb +48 -0
  407. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/hash/transform_values.rb +32 -0
  408. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/integer.rb +5 -0
  409. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/integer/inflections.rb +31 -0
  410. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/integer/multiple.rb +12 -0
  411. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/integer/time.rb +22 -0
  412. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/kernel.rb +6 -0
  413. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/kernel/agnostics.rb +13 -0
  414. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/kernel/concern.rb +14 -0
  415. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/kernel/reporting.rb +45 -0
  416. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/kernel/singleton_class.rb +8 -0
  417. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/load_error.rb +9 -0
  418. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/marshal.rb +24 -0
  419. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module.rb +14 -0
  420. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/aliasing.rb +31 -0
  421. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/anonymous.rb +30 -0
  422. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/attr_internal.rb +38 -0
  423. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/attribute_accessors.rb +215 -0
  424. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +150 -0
  425. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/concerning.rb +134 -0
  426. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/delegation.rb +287 -0
  427. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/deprecation.rb +25 -0
  428. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/introspection.rb +62 -0
  429. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/reachable.rb +11 -0
  430. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/redefine_method.rb +49 -0
  431. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/module/remove_method.rb +17 -0
  432. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/name_error.rb +38 -0
  433. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/numeric.rb +6 -0
  434. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/numeric/bytes.rb +66 -0
  435. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/numeric/conversions.rb +140 -0
  436. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/numeric/inquiry.rb +28 -0
  437. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/numeric/time.rb +66 -0
  438. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object.rb +16 -0
  439. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/acts_like.rb +21 -0
  440. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/blank.rb +156 -0
  441. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/conversions.rb +6 -0
  442. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/deep_dup.rb +55 -0
  443. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/duplicable.rb +156 -0
  444. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/inclusion.rb +29 -0
  445. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/instance_variables.rb +30 -0
  446. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/json.rb +227 -0
  447. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/to_param.rb +3 -0
  448. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/to_query.rb +89 -0
  449. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/try.rb +148 -0
  450. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/object/with_options.rb +82 -0
  451. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/range.rb +7 -0
  452. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/range/conversions.rb +39 -0
  453. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/range/each.rb +25 -0
  454. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/range/include_range.rb +25 -0
  455. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/range/include_time_with_zone.rb +23 -0
  456. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/range/overlaps.rb +10 -0
  457. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/regexp.rb +11 -0
  458. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/securerandom.rb +25 -0
  459. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string.rb +15 -0
  460. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/access.rb +106 -0
  461. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/behavior.rb +8 -0
  462. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/conversions.rb +59 -0
  463. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/exclude.rb +13 -0
  464. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/filters.rb +104 -0
  465. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/indent.rb +45 -0
  466. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/inflections.rb +254 -0
  467. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/inquiry.rb +15 -0
  468. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/multibyte.rb +57 -0
  469. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/output_safety.rb +258 -0
  470. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/starts_ends_with.rb +6 -0
  471. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/strip.rb +25 -0
  472. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/string/zones.rb +16 -0
  473. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/time.rb +7 -0
  474. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/time/acts_like.rb +10 -0
  475. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/time/calculations.rb +315 -0
  476. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/time/compatibility.rb +16 -0
  477. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/time/conversions.rb +72 -0
  478. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/time/zones.rb +113 -0
  479. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/core_ext/uri.rb +24 -0
  480. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/current_attributes.rb +195 -0
  481. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/dependencies.rb +753 -0
  482. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/dependencies/autoload.rb +79 -0
  483. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb +57 -0
  484. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/deprecation.rb +46 -0
  485. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/deprecation/behaviors.rb +109 -0
  486. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/deprecation/constant_accessor.rb +52 -0
  487. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/deprecation/instance_delegator.rb +39 -0
  488. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/deprecation/method_wrappers.rb +80 -0
  489. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/deprecation/proxy_wrappers.rb +154 -0
  490. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/deprecation/reporting.rb +114 -0
  491. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/descendants_tracker.rb +62 -0
  492. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/digest.rb +20 -0
  493. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/duration.rb +432 -0
  494. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/duration/iso8601_parser.rb +125 -0
  495. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/duration/iso8601_serializer.rb +55 -0
  496. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/encrypted_configuration.rb +49 -0
  497. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/encrypted_file.rb +99 -0
  498. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/evented_file_update_checker.rb +205 -0
  499. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/execution_wrapper.rb +128 -0
  500. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/executor.rb +8 -0
  501. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/file_update_checker.rb +163 -0
  502. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/gem_version.rb +17 -0
  503. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/gzip.rb +38 -0
  504. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/hash_with_indifferent_access.rb +382 -0
  505. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/i18n.rb +15 -0
  506. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/i18n_railtie.rb +118 -0
  507. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/inflections.rb +72 -0
  508. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/inflector.rb +9 -0
  509. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/inflector/inflections.rb +260 -0
  510. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/inflector/methods.rb +408 -0
  511. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/inflector/transliterate.rb +118 -0
  512. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/json.rb +4 -0
  513. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/json/decoding.rb +76 -0
  514. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/json/encoding.rb +130 -0
  515. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/key_generator.rb +73 -0
  516. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/lazy_load_hooks.rb +78 -0
  517. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/locale/en.yml +135 -0
  518. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/log_subscriber.rb +112 -0
  519. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/log_subscriber/test_helper.rb +106 -0
  520. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/logger.rb +108 -0
  521. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/logger_silence.rb +29 -0
  522. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/logger_thread_safe_level.rb +33 -0
  523. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb +229 -0
  524. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/message_verifier.rb +205 -0
  525. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/messages/metadata.rb +71 -0
  526. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/messages/rotation_configuration.rb +22 -0
  527. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/messages/rotator.rb +56 -0
  528. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/multibyte.rb +23 -0
  529. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/multibyte/chars.rb +235 -0
  530. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/multibyte/unicode.rb +394 -0
  531. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/notifications.rb +216 -0
  532. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/notifications/fanout.rb +159 -0
  533. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/notifications/instrumenter.rb +93 -0
  534. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper.rb +371 -0
  535. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper/number_converter.rb +184 -0
  536. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper/number_to_currency_converter.rb +46 -0
  537. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper/number_to_delimited_converter.rb +29 -0
  538. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper/number_to_human_converter.rb +68 -0
  539. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper/number_to_human_size_converter.rb +59 -0
  540. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper/number_to_percentage_converter.rb +14 -0
  541. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper/number_to_phone_converter.rb +58 -0
  542. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper/number_to_rounded_converter.rb +54 -0
  543. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/number_helper/rounding_helper.rb +66 -0
  544. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/option_merger.rb +27 -0
  545. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/ordered_hash.rb +50 -0
  546. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/ordered_options.rb +85 -0
  547. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/per_thread_registry.rb +60 -0
  548. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/proxy_object.rb +15 -0
  549. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/rails.rb +35 -0
  550. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/railtie.rb +80 -0
  551. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/reloader.rb +131 -0
  552. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/rescuable.rb +174 -0
  553. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/security_utils.rb +31 -0
  554. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/string_inquirer.rb +34 -0
  555. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/subscriber.rb +130 -0
  556. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/tagged_logging.rb +79 -0
  557. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/test_case.rb +72 -0
  558. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/assertions.rb +214 -0
  559. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/autorun.rb +7 -0
  560. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/constant_lookup.rb +51 -0
  561. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/declarative.rb +28 -0
  562. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/deprecation.rb +39 -0
  563. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/file_fixtures.rb +36 -0
  564. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/isolation.rb +110 -0
  565. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/method_call_assertions.rb +43 -0
  566. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/setup_and_teardown.rb +55 -0
  567. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/stream.rb +44 -0
  568. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/tagged_logging.rb +27 -0
  569. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/testing/time_helpers.rb +200 -0
  570. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/time.rb +20 -0
  571. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/time_with_zone.rb +551 -0
  572. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/values/time_zone.rb +565 -0
  573. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/values/unicode_tables.dat +0 -0
  574. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/version.rb +10 -0
  575. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/xml_mini.rb +209 -0
  576. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/xml_mini/jdom.rb +183 -0
  577. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/xml_mini/libxml.rb +80 -0
  578. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/xml_mini/libxmlsax.rb +83 -0
  579. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/xml_mini/nokogiri.rb +83 -0
  580. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/xml_mini/nokogirisax.rb +86 -0
  581. data/vendor/bundle/gems/activesupport-5.2.2/lib/active_support/xml_mini/rexml.rb +130 -0
  582. data/vendor/bundle/gems/ansi-1.5.0/.index +77 -0
  583. data/vendor/bundle/gems/ansi-1.5.0/.yardopts +8 -0
  584. data/vendor/bundle/gems/ansi-1.5.0/DEMO.md +451 -0
  585. data/vendor/bundle/gems/ansi-1.5.0/HISTORY.md +217 -0
  586. data/vendor/bundle/gems/ansi-1.5.0/LICENSE.txt +23 -0
  587. data/vendor/bundle/gems/ansi-1.5.0/NOTICE.md +170 -0
  588. data/vendor/bundle/gems/ansi-1.5.0/README.md +91 -0
  589. data/vendor/bundle/gems/ansi-1.5.0/demo/01_ansicode.md +65 -0
  590. data/vendor/bundle/gems/ansi-1.5.0/demo/02_core.md +11 -0
  591. data/vendor/bundle/gems/ansi-1.5.0/demo/03_logger.md +30 -0
  592. data/vendor/bundle/gems/ansi-1.5.0/demo/04_progressbar.md +62 -0
  593. data/vendor/bundle/gems/ansi-1.5.0/demo/05_mixin.md +37 -0
  594. data/vendor/bundle/gems/ansi-1.5.0/demo/06_string.md +56 -0
  595. data/vendor/bundle/gems/ansi-1.5.0/demo/07_columns.md +89 -0
  596. data/vendor/bundle/gems/ansi-1.5.0/demo/08_table.md +28 -0
  597. data/vendor/bundle/gems/ansi-1.5.0/demo/09_diff.md +47 -0
  598. data/vendor/bundle/gems/ansi-1.5.0/demo/10_bbcode.md +24 -0
  599. data/vendor/bundle/gems/ansi-1.5.0/demo/11_terminal.md +8 -0
  600. data/vendor/bundle/gems/ansi-1.5.0/demo/applique/ae.rb +1 -0
  601. data/vendor/bundle/gems/ansi-1.5.0/demo/applique/output.rb +5 -0
  602. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi.rb +22 -0
  603. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi.yml +77 -0
  604. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/bbcode.rb +334 -0
  605. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/chain.rb +50 -0
  606. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/chart.rb +100 -0
  607. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/code.rb +349 -0
  608. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/columns.rb +197 -0
  609. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/constants.rb +25 -0
  610. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/core.rb +30 -0
  611. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/diff.rb +215 -0
  612. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/hexdump.rb +122 -0
  613. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/logger.rb +211 -0
  614. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/mixin.rb +121 -0
  615. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/progressbar.rb +292 -0
  616. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/string.rb +254 -0
  617. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/table.rb +179 -0
  618. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/terminal.rb +44 -0
  619. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/terminal/curses.rb +26 -0
  620. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/terminal/stty.rb +62 -0
  621. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/terminal/termios.rb +68 -0
  622. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/terminal/win32.rb +107 -0
  623. data/vendor/bundle/gems/ansi-1.5.0/lib/ansi/version.rb +15 -0
  624. data/vendor/bundle/gems/ansi-1.5.0/test/case_ansicode.rb +43 -0
  625. data/vendor/bundle/gems/ansi-1.5.0/test/case_bbcode.rb +35 -0
  626. data/vendor/bundle/gems/ansi-1.5.0/test/case_mixin.rb +35 -0
  627. data/vendor/bundle/gems/ansi-1.5.0/test/case_progressbar.rb +21 -0
  628. data/vendor/bundle/gems/ansi-1.5.0/test/test_helper.rb +3 -0
  629. data/vendor/bundle/gems/arel-9.0.0/History.txt +332 -0
  630. data/vendor/bundle/gems/arel-9.0.0/MIT-LICENSE.txt +21 -0
  631. data/vendor/bundle/gems/arel-9.0.0/README.md +295 -0
  632. data/vendor/bundle/gems/arel-9.0.0/lib/arel.rb +38 -0
  633. data/vendor/bundle/gems/arel-9.0.0/lib/arel/alias_predication.rb +8 -0
  634. data/vendor/bundle/gems/arel-9.0.0/lib/arel/attributes.rb +21 -0
  635. data/vendor/bundle/gems/arel-9.0.0/lib/arel/attributes/attribute.rb +36 -0
  636. data/vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb +24 -0
  637. data/vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb +32 -0
  638. data/vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb +19 -0
  639. data/vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/sql_string.rb +24 -0
  640. data/vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/substitute_binds.rb +28 -0
  641. data/vendor/bundle/gems/arel-9.0.0/lib/arel/compatibility/wheres.rb +34 -0
  642. data/vendor/bundle/gems/arel-9.0.0/lib/arel/crud.rb +42 -0
  643. data/vendor/bundle/gems/arel-9.0.0/lib/arel/delete_manager.rb +24 -0
  644. data/vendor/bundle/gems/arel-9.0.0/lib/arel/errors.rb +8 -0
  645. data/vendor/bundle/gems/arel-9.0.0/lib/arel/expressions.rb +29 -0
  646. data/vendor/bundle/gems/arel-9.0.0/lib/arel/factory_methods.rb +44 -0
  647. data/vendor/bundle/gems/arel-9.0.0/lib/arel/insert_manager.rb +48 -0
  648. data/vendor/bundle/gems/arel-9.0.0/lib/arel/math.rb +44 -0
  649. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes.rb +65 -0
  650. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/and.rb +31 -0
  651. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/ascending.rb +24 -0
  652. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/binary.rb +51 -0
  653. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/bind_param.rb +27 -0
  654. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/case.rb +58 -0
  655. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/casted.rb +45 -0
  656. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/count.rb +13 -0
  657. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/delete_statement.rb +22 -0
  658. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/descending.rb +24 -0
  659. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/equality.rb +10 -0
  660. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/extract.rb +26 -0
  661. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/false.rb +15 -0
  662. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/full_outer_join.rb +7 -0
  663. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/function.rb +46 -0
  664. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/grouping.rb +8 -0
  665. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/in.rb +7 -0
  666. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/infix_operation.rb +80 -0
  667. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/inner_join.rb +7 -0
  668. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/insert_statement.rb +36 -0
  669. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/join_source.rb +19 -0
  670. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/matches.rb +17 -0
  671. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/named_function.rb +22 -0
  672. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/node.rb +61 -0
  673. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/outer_join.rb +7 -0
  674. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/over.rb +16 -0
  675. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/regexp.rb +15 -0
  676. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/right_outer_join.rb +7 -0
  677. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb +64 -0
  678. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb +40 -0
  679. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/sql_literal.rb +15 -0
  680. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/string_join.rb +10 -0
  681. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/table_alias.rb +26 -0
  682. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/terminal.rb +15 -0
  683. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/true.rb +15 -0
  684. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/unary.rb +43 -0
  685. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/unary_operation.rb +26 -0
  686. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/unqualified_column.rb +21 -0
  687. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/update_statement.rb +39 -0
  688. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/values.rb +15 -0
  689. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/values_list.rb +23 -0
  690. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/window.rb +125 -0
  691. data/vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/with.rb +11 -0
  692. data/vendor/bundle/gems/arel-9.0.0/lib/arel/order_predications.rb +14 -0
  693. data/vendor/bundle/gems/arel-9.0.0/lib/arel/predications.rb +240 -0
  694. data/vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb +269 -0
  695. data/vendor/bundle/gems/arel-9.0.0/lib/arel/table.rb +110 -0
  696. data/vendor/bundle/gems/arel-9.0.0/lib/arel/tree_manager.rb +39 -0
  697. data/vendor/bundle/gems/arel-9.0.0/lib/arel/update_manager.rb +58 -0
  698. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors.rb +19 -0
  699. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/depth_first.rb +198 -0
  700. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/dot.rb +291 -0
  701. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/ibm_db.rb +15 -0
  702. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/informix.rb +55 -0
  703. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/mssql.rb +124 -0
  704. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/mysql.rb +86 -0
  705. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/oracle.rb +153 -0
  706. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/oracle12.rb +60 -0
  707. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/postgresql.rb +85 -0
  708. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb +27 -0
  709. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/sqlite.rb +27 -0
  710. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb +850 -0
  711. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/visitor.rb +43 -0
  712. data/vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/where_sql.rb +22 -0
  713. data/vendor/bundle/gems/arel-9.0.0/lib/arel/window_predications.rb +10 -0
  714. data/vendor/bundle/gems/builder-3.2.3/CHANGES +107 -0
  715. data/vendor/bundle/gems/builder-3.2.3/MIT-LICENSE +20 -0
  716. data/vendor/bundle/gems/builder-3.2.3/README.md +258 -0
  717. data/vendor/bundle/gems/builder-3.2.3/Rakefile +195 -0
  718. data/vendor/bundle/gems/builder-3.2.3/doc/jamis.rb +591 -0
  719. data/vendor/bundle/gems/builder-3.2.3/doc/releases/builder-1.2.4.rdoc +31 -0
  720. data/vendor/bundle/gems/builder-3.2.3/doc/releases/builder-2.0.0.rdoc +46 -0
  721. data/vendor/bundle/gems/builder-3.2.3/doc/releases/builder-2.1.1.rdoc +58 -0
  722. data/vendor/bundle/gems/builder-3.2.3/lib/blankslate.rb +137 -0
  723. data/vendor/bundle/gems/builder-3.2.3/lib/builder.rb +13 -0
  724. data/vendor/bundle/gems/builder-3.2.3/lib/builder/blankslate.rb +23 -0
  725. data/vendor/bundle/gems/builder-3.2.3/lib/builder/version.rb +8 -0
  726. data/vendor/bundle/gems/builder-3.2.3/lib/builder/xchar.rb +197 -0
  727. data/vendor/bundle/gems/builder-3.2.3/lib/builder/xmlbase.rb +199 -0
  728. data/vendor/bundle/gems/builder-3.2.3/lib/builder/xmlevents.rb +63 -0
  729. data/vendor/bundle/gems/builder-3.2.3/lib/builder/xmlmarkup.rb +339 -0
  730. data/vendor/bundle/gems/builder-3.2.3/rakelib/publish.rake +20 -0
  731. data/vendor/bundle/gems/builder-3.2.3/rakelib/tags.rake +62 -0
  732. data/vendor/bundle/gems/builder-3.2.3/rakelib/testing.rake +7 -0
  733. data/vendor/bundle/gems/builder-3.2.3/test/helper.rb +12 -0
  734. data/vendor/bundle/gems/builder-3.2.3/test/performance.rb +41 -0
  735. data/vendor/bundle/gems/builder-3.2.3/test/preload.rb +39 -0
  736. data/vendor/bundle/gems/builder-3.2.3/test/test_blankslate.rb +213 -0
  737. data/vendor/bundle/gems/builder-3.2.3/test/test_eventbuilder.rb +150 -0
  738. data/vendor/bundle/gems/builder-3.2.3/test/test_markupbuilder.rb +611 -0
  739. data/vendor/bundle/gems/builder-3.2.3/test/test_method_caching.rb +62 -0
  740. data/vendor/bundle/gems/builder-3.2.3/test/test_namecollision.rb +39 -0
  741. data/vendor/bundle/gems/builder-3.2.3/test/test_xchar.rb +78 -0
  742. data/vendor/bundle/gems/concurrent-ruby-1.1.4/CHANGELOG.md +465 -0
  743. data/vendor/bundle/gems/concurrent-ruby-1.1.4/Gemfile +39 -0
  744. data/vendor/bundle/gems/concurrent-ruby-1.1.4/LICENSE.md +23 -0
  745. data/vendor/bundle/gems/concurrent-ruby-1.1.4/README.md +349 -0
  746. data/vendor/bundle/gems/concurrent-ruby-1.1.4/Rakefile +346 -0
  747. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/ConcurrentRubyService.java +17 -0
  748. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/AtomicReferenceLibrary.java +175 -0
  749. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/JRubyMapBackendLibrary.java +248 -0
  750. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicBooleanLibrary.java +93 -0
  751. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicFixnumLibrary.java +113 -0
  752. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaSemaphoreLibrary.java +159 -0
  753. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/SynchronizationLibrary.java +306 -0
  754. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMap.java +31 -0
  755. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMapV8.java +3863 -0
  756. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/LongAdder.java +203 -0
  757. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/Striped64.java +342 -0
  758. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/ConcurrentHashMapV8.java +3800 -0
  759. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/LongAdder.java +204 -0
  760. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/Striped64.java +291 -0
  761. data/vendor/bundle/gems/concurrent-ruby-1.1.4/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166y/ThreadLocalRandom.java +199 -0
  762. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent-ruby.rb +1 -0
  763. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent.rb +134 -0
  764. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/agent.rb +587 -0
  765. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/array.rb +66 -0
  766. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/async.rb +445 -0
  767. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atom.rb +222 -0
  768. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/abstract_thread_local_var.rb +66 -0
  769. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/atomic_boolean.rb +126 -0
  770. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/atomic_fixnum.rb +143 -0
  771. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/atomic_markable_reference.rb +164 -0
  772. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/atomic_reference.rb +204 -0
  773. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/count_down_latch.rb +100 -0
  774. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/cyclic_barrier.rb +128 -0
  775. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/event.rb +109 -0
  776. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/java_count_down_latch.rb +42 -0
  777. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/java_thread_local_var.rb +37 -0
  778. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/mutex_atomic_boolean.rb +62 -0
  779. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/mutex_atomic_fixnum.rb +75 -0
  780. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/mutex_count_down_latch.rb +44 -0
  781. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/mutex_semaphore.rb +115 -0
  782. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/read_write_lock.rb +254 -0
  783. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/reentrant_read_write_lock.rb +379 -0
  784. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/ruby_thread_local_var.rb +161 -0
  785. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/semaphore.rb +145 -0
  786. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic/thread_local_var.rb +104 -0
  787. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic_reference/mutex_atomic.rb +56 -0
  788. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomic_reference/numeric_cas_wrapper.rb +28 -0
  789. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/atomics.rb +10 -0
  790. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/copy_on_notify_observer_set.rb +107 -0
  791. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/copy_on_write_observer_set.rb +111 -0
  792. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/java_non_concurrent_priority_queue.rb +84 -0
  793. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/lock_free_stack.rb +158 -0
  794. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/map/atomic_reference_map_backend.rb +927 -0
  795. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/map/mri_map_backend.rb +66 -0
  796. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/map/non_concurrent_map_backend.rb +140 -0
  797. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/map/synchronized_map_backend.rb +82 -0
  798. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/non_concurrent_priority_queue.rb +143 -0
  799. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb +150 -0
  800. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/concern/deprecation.rb +34 -0
  801. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/concern/dereferenceable.rb +73 -0
  802. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/concern/logging.rb +32 -0
  803. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/concern/obligation.rb +220 -0
  804. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/concern/observable.rb +110 -0
  805. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/concurrent_ruby.jar +0 -0
  806. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/configuration.rb +184 -0
  807. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/constants.rb +8 -0
  808. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/dataflow.rb +81 -0
  809. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/delay.rb +199 -0
  810. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/errors.rb +69 -0
  811. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/exchanger.rb +352 -0
  812. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/abstract_executor_service.rb +134 -0
  813. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/cached_thread_pool.rb +62 -0
  814. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/executor_service.rb +185 -0
  815. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/fixed_thread_pool.rb +206 -0
  816. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/immediate_executor.rb +66 -0
  817. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/indirect_immediate_executor.rb +44 -0
  818. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/java_executor_service.rb +91 -0
  819. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/java_single_thread_executor.rb +29 -0
  820. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/java_thread_pool_executor.rb +123 -0
  821. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/ruby_executor_service.rb +78 -0
  822. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/ruby_single_thread_executor.rb +22 -0
  823. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/ruby_thread_pool_executor.rb +362 -0
  824. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/safe_task_executor.rb +35 -0
  825. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/serial_executor_service.rb +34 -0
  826. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/serialized_execution.rb +107 -0
  827. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/serialized_execution_delegator.rb +28 -0
  828. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/simple_executor_service.rb +100 -0
  829. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/single_thread_executor.rb +56 -0
  830. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/thread_pool_executor.rb +87 -0
  831. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executor/timer_set.rb +175 -0
  832. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/executors.rb +20 -0
  833. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/future.rb +141 -0
  834. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/hash.rb +59 -0
  835. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/immutable_struct.rb +93 -0
  836. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/ivar.rb +207 -0
  837. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/map.rb +337 -0
  838. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/maybe.rb +229 -0
  839. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/mutable_struct.rb +229 -0
  840. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/mvar.rb +242 -0
  841. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/options.rb +42 -0
  842. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/promise.rb +579 -0
  843. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/promises.rb +1936 -0
  844. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/re_include.rb +58 -0
  845. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/scheduled_task.rb +318 -0
  846. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/set.rb +66 -0
  847. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/settable_struct.rb +129 -0
  848. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization.rb +30 -0
  849. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/abstract_lockable_object.rb +98 -0
  850. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/abstract_object.rb +24 -0
  851. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/abstract_struct.rb +159 -0
  852. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/condition.rb +58 -0
  853. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/jruby_lockable_object.rb +13 -0
  854. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/jruby_object.rb +44 -0
  855. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/lock.rb +34 -0
  856. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/lockable_object.rb +74 -0
  857. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/mri_object.rb +43 -0
  858. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/mutex_lockable_object.rb +76 -0
  859. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/object.rb +157 -0
  860. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/rbx_lockable_object.rb +65 -0
  861. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/rbx_object.rb +48 -0
  862. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/truffleruby_object.rb +46 -0
  863. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/synchronization/volatile.rb +36 -0
  864. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/thread_safe/synchronized_delegator.rb +50 -0
  865. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/thread_safe/util.rb +16 -0
  866. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/thread_safe/util/adder.rb +74 -0
  867. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/thread_safe/util/cheap_lockable.rb +118 -0
  868. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/thread_safe/util/data_structures.rb +63 -0
  869. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/thread_safe/util/power_of_two_tuple.rb +38 -0
  870. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/thread_safe/util/striped64.rb +246 -0
  871. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/thread_safe/util/volatile.rb +75 -0
  872. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/thread_safe/util/xor_shift_random.rb +50 -0
  873. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/timer_task.rb +334 -0
  874. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/tuple.rb +86 -0
  875. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/tvar.rb +258 -0
  876. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/utility/at_exit.rb +97 -0
  877. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/utility/engine.rb +56 -0
  878. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/utility/monotonic_time.rb +58 -0
  879. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/utility/native_extension_loader.rb +79 -0
  880. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/utility/native_integer.rb +53 -0
  881. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/utility/processor_counter.rb +158 -0
  882. data/vendor/bundle/gems/concurrent-ruby-1.1.4/lib/concurrent/version.rb +4 -0
  883. data/vendor/bundle/gems/i18n-1.3.0/MIT-LICENSE +20 -0
  884. data/vendor/bundle/gems/i18n-1.3.0/README.md +125 -0
  885. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n.rb +383 -0
  886. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend.rb +21 -0
  887. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/base.rb +269 -0
  888. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/cache.rb +116 -0
  889. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/cache_file.rb +36 -0
  890. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/cascade.rb +56 -0
  891. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/chain.rb +123 -0
  892. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/fallbacks.rb +84 -0
  893. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/flatten.rb +115 -0
  894. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/gettext.rb +85 -0
  895. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/interpolation_compiler.rb +123 -0
  896. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/key_value.rb +206 -0
  897. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/memoize.rb +48 -0
  898. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/metadata.rb +71 -0
  899. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/pluralization.rb +55 -0
  900. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/simple.rb +106 -0
  901. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/backend/transliterator.rb +108 -0
  902. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/config.rb +165 -0
  903. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/core_ext/hash.rb +37 -0
  904. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/core_ext/string/interpolate.rb +9 -0
  905. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/exceptions.rb +97 -0
  906. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/gettext.rb +28 -0
  907. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/gettext/helpers.rb +75 -0
  908. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/gettext/po_parser.rb +329 -0
  909. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/interpolate/ruby.rb +39 -0
  910. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/locale.rb +8 -0
  911. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/locale/fallbacks.rb +96 -0
  912. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/locale/tag.rb +28 -0
  913. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/locale/tag/parents.rb +22 -0
  914. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/locale/tag/rfc4646.rb +74 -0
  915. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/locale/tag/simple.rb +39 -0
  916. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/middleware.rb +17 -0
  917. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests.rb +14 -0
  918. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/basics.rb +60 -0
  919. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/defaults.rb +52 -0
  920. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/interpolation.rb +159 -0
  921. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/link.rb +56 -0
  922. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/localization.rb +19 -0
  923. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/localization/date.rb +95 -0
  924. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/localization/date_time.rb +82 -0
  925. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/localization/procs.rb +116 -0
  926. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/localization/time.rb +81 -0
  927. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/lookup.rb +81 -0
  928. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/pluralization.rb +35 -0
  929. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/tests/procs.rb +55 -0
  930. data/vendor/bundle/gems/i18n-1.3.0/lib/i18n/version.rb +5 -0
  931. data/vendor/bundle/gems/minitest-5.11.3/.autotest +34 -0
  932. data/vendor/bundle/gems/minitest-5.11.3/History.rdoc +1310 -0
  933. data/vendor/bundle/gems/minitest-5.11.3/Manifest.txt +26 -0
  934. data/vendor/bundle/gems/minitest-5.11.3/README.rdoc +746 -0
  935. data/vendor/bundle/gems/minitest-5.11.3/Rakefile +86 -0
  936. data/vendor/bundle/gems/minitest-5.11.3/design_rationale.rb +52 -0
  937. data/vendor/bundle/gems/minitest-5.11.3/lib/hoe/minitest.rb +32 -0
  938. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest.rb +987 -0
  939. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/assertions.rb +693 -0
  940. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/autorun.rb +13 -0
  941. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/benchmark.rb +455 -0
  942. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/expectations.rb +284 -0
  943. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/hell.rb +11 -0
  944. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/mock.rb +240 -0
  945. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/parallel.rb +70 -0
  946. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/pride.rb +4 -0
  947. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/pride_plugin.rb +142 -0
  948. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/spec.rb +331 -0
  949. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/test.rb +220 -0
  950. data/vendor/bundle/gems/minitest-5.11.3/lib/minitest/unit.rb +45 -0
  951. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/metametameta.rb +102 -0
  952. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_benchmark.rb +137 -0
  953. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_mock.rb +874 -0
  954. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_reporter.rb +299 -0
  955. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_spec.rb +987 -0
  956. data/vendor/bundle/gems/minitest-5.11.3/test/minitest/test_minitest_test.rb +2142 -0
  957. data/vendor/bundle/gems/minitest-reporters-1.3.5/.gitignore +27 -0
  958. data/vendor/bundle/gems/minitest-reporters-1.3.5/.rubocop.yml +77 -0
  959. data/vendor/bundle/gems/minitest-reporters-1.3.5/.ruby-gemset +1 -0
  960. data/vendor/bundle/gems/minitest-reporters-1.3.5/.travis.yml +13 -0
  961. data/vendor/bundle/gems/minitest-reporters-1.3.5/.yardopts +6 -0
  962. data/vendor/bundle/gems/minitest-reporters-1.3.5/CHANGELOG.md +88 -0
  963. data/vendor/bundle/gems/minitest-reporters-1.3.5/Gemfile +2 -0
  964. data/vendor/bundle/gems/minitest-reporters-1.3.5/LICENSE +20 -0
  965. data/vendor/bundle/gems/minitest-reporters-1.3.5/README.md +135 -0
  966. data/vendor/bundle/gems/minitest-reporters-1.3.5/Rakefile +70 -0
  967. data/vendor/bundle/gems/minitest-reporters-1.3.5/appveyor.yml +22 -0
  968. data/vendor/bundle/gems/minitest-reporters-1.3.5/assets/default-reporter.png +0 -0
  969. data/vendor/bundle/gems/minitest-reporters-1.3.5/assets/mean_time_reporter.png +0 -0
  970. data/vendor/bundle/gems/minitest-reporters-1.3.5/assets/progress-reporter.png +0 -0
  971. data/vendor/bundle/gems/minitest-reporters-1.3.5/assets/spec-reporter.png +0 -0
  972. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/extensible_backtrace_filter.rb +67 -0
  973. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/minitest_reporter_plugin.rb +76 -0
  974. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/old_activesupport_fix.rb +24 -0
  975. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/relative_position.rb +26 -0
  976. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters.rb +91 -0
  977. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/ansi.rb +30 -0
  978. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/base_reporter.rb +134 -0
  979. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/default_reporter.rb +228 -0
  980. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/html_reporter.rb +224 -0
  981. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/junit_reporter.rb +164 -0
  982. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/mean_time_reporter.rb +388 -0
  983. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/progress_reporter.rb +96 -0
  984. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/ruby_mate_reporter.rb +54 -0
  985. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/rubymine_reporter.rb +116 -0
  986. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/spec_reporter.rb +61 -0
  987. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/reporters/version.rb +5 -0
  988. data/vendor/bundle/gems/minitest-reporters-1.3.5/lib/minitest/templates/index.html.erb +83 -0
  989. data/vendor/bundle/gems/minitest-reporters-1.3.5/minitest-reporters.gemspec +32 -0
  990. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/fixtures/junit_filename_bug_example_test.rb +41 -0
  991. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/fixtures/mean_time_test.rb +36 -0
  992. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/fixtures/progress_detailed_skip_test.rb +8 -0
  993. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/fixtures/progress_test.rb +8 -0
  994. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/fixtures/sample_test.rb +15 -0
  995. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/fixtures/spec_test.rb +18 -0
  996. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/gallery/bad_test.rb +25 -0
  997. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/gallery/good_test.rb +14 -0
  998. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/integration/reporters/junit_reporter_test.rb +12 -0
  999. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/integration/reporters/mean_time_reporter_test.rb +7 -0
  1000. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/integration/reporters/progress_reporter_test.rb +40 -0
  1001. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/test_helper.rb +22 -0
  1002. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/unit/minitest/extensible_backtrace_filter_test.rb +42 -0
  1003. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/unit/minitest/junit_reporter_test.rb +23 -0
  1004. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/unit/minitest/mean_time_reporter_unit_test.rb +149 -0
  1005. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/unit/minitest/minitest_reporter_plugin_test.rb +14 -0
  1006. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/unit/minitest/reporters_test.rb +65 -0
  1007. data/vendor/bundle/gems/minitest-reporters-1.3.5/test/unit/minitest/spec_reporter_test.rb +62 -0
  1008. data/vendor/bundle/gems/rake-10.5.0/.autotest +7 -0
  1009. data/vendor/bundle/gems/rake-10.5.0/.rubocop.yml +27 -0
  1010. data/vendor/bundle/gems/rake-10.5.0/.togglerc +7 -0
  1011. data/vendor/bundle/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  1012. data/vendor/bundle/gems/rake-10.5.0/History.rdoc +659 -0
  1013. data/vendor/bundle/gems/rake-10.5.0/MIT-LICENSE +21 -0
  1014. data/vendor/bundle/gems/rake-10.5.0/Manifest.txt +166 -0
  1015. data/vendor/bundle/gems/rake-10.5.0/README.rdoc +139 -0
  1016. data/vendor/bundle/gems/rake-10.5.0/Rakefile +81 -0
  1017. data/vendor/bundle/gems/rake-10.5.0/bin/rake +33 -0
  1018. data/vendor/bundle/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  1019. data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  1020. data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  1021. data/vendor/bundle/gems/rake-10.5.0/doc/example/a.c +6 -0
  1022. data/vendor/bundle/gems/rake-10.5.0/doc/example/b.c +6 -0
  1023. data/vendor/bundle/gems/rake-10.5.0/doc/example/main.c +11 -0
  1024. data/vendor/bundle/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  1025. data/vendor/bundle/gems/rake-10.5.0/doc/jamis.rb +591 -0
  1026. data/vendor/bundle/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  1027. data/vendor/bundle/gems/rake-10.5.0/doc/rake.1 +141 -0
  1028. data/vendor/bundle/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  1029. data/vendor/bundle/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  1030. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  1031. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  1032. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  1033. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  1034. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  1035. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  1036. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  1037. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  1038. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  1039. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  1040. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  1041. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  1042. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  1043. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  1044. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  1045. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  1046. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  1047. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  1048. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  1049. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  1050. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  1051. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  1052. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  1053. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  1054. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  1055. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  1056. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  1057. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  1058. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  1059. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  1060. data/vendor/bundle/gems/rake-10.5.0/lib/rake.rb +79 -0
  1061. data/vendor/bundle/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  1062. data/vendor/bundle/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  1063. data/vendor/bundle/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  1064. data/vendor/bundle/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  1065. data/vendor/bundle/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  1066. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  1067. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  1068. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  1069. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  1070. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  1071. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  1072. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  1073. data/vendor/bundle/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  1074. data/vendor/bundle/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  1075. data/vendor/bundle/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  1076. data/vendor/bundle/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  1077. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  1078. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  1079. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  1080. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  1081. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  1082. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  1083. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  1084. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  1085. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  1086. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  1087. data/vendor/bundle/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  1088. data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  1089. data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  1090. data/vendor/bundle/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  1091. data/vendor/bundle/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  1092. data/vendor/bundle/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  1093. data/vendor/bundle/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  1094. data/vendor/bundle/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  1095. data/vendor/bundle/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  1096. data/vendor/bundle/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  1097. data/vendor/bundle/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  1098. data/vendor/bundle/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  1099. data/vendor/bundle/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  1100. data/vendor/bundle/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  1101. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  1102. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  1103. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  1104. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  1105. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  1106. data/vendor/bundle/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  1107. data/vendor/bundle/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  1108. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  1109. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  1110. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  1111. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  1112. data/vendor/bundle/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  1113. data/vendor/bundle/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  1114. data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  1115. data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  1116. data/vendor/bundle/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  1117. data/vendor/bundle/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  1118. data/vendor/bundle/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  1119. data/vendor/bundle/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  1120. data/vendor/bundle/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  1121. data/vendor/bundle/gems/rake-10.5.0/test/file_creation.rb +34 -0
  1122. data/vendor/bundle/gems/rake-10.5.0/test/helper.rb +129 -0
  1123. data/vendor/bundle/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  1124. data/vendor/bundle/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  1125. data/vendor/bundle/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  1126. data/vendor/bundle/gems/rake-10.5.0/test/test_rake.rb +40 -0
  1127. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  1128. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  1129. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  1130. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  1131. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  1132. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  1133. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  1134. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  1135. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  1136. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  1137. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  1138. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  1139. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  1140. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  1141. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  1142. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  1143. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  1144. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  1145. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  1146. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  1147. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  1148. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  1149. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  1150. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  1151. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  1152. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  1153. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  1154. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  1155. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  1156. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  1157. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  1158. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  1159. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  1160. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  1161. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  1162. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  1163. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  1164. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  1165. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  1166. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  1167. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  1168. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  1169. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  1170. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  1171. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  1172. data/vendor/bundle/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  1173. data/vendor/bundle/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  1174. data/vendor/bundle/gems/ruby-progressbar-1.10.0/LICENSE.txt +19 -0
  1175. data/vendor/bundle/gems/ruby-progressbar-1.10.0/README.md +38 -0
  1176. data/vendor/bundle/gems/ruby-progressbar-1.10.0/Rakefile +2 -0
  1177. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar.rb +18 -0
  1178. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/base.rb +183 -0
  1179. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/calculators/length.rb +100 -0
  1180. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/calculators/running_average.rb +9 -0
  1181. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components.rb +5 -0
  1182. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/bar.rb +102 -0
  1183. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/percentage.rb +29 -0
  1184. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/rate.rb +43 -0
  1185. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/time.rb +107 -0
  1186. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/title.rb +13 -0
  1187. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  1188. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format.rb +3 -0
  1189. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format/formatter.rb +27 -0
  1190. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format/molecule.rb +60 -0
  1191. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format/string.rb +36 -0
  1192. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/output.rb +68 -0
  1193. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  1194. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/outputs/null.rb +33 -0
  1195. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/outputs/tty.rb +32 -0
  1196. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/progress.rb +118 -0
  1197. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/refinements.rb +1 -0
  1198. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/refinements/enumerator.rb +23 -0
  1199. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/throttle.rb +25 -0
  1200. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/time.rb +32 -0
  1201. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/timer.rb +72 -0
  1202. data/vendor/bundle/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/version.rb +3 -0
  1203. data/vendor/bundle/gems/sqlite3-1.3.13/API_CHANGES.rdoc +50 -0
  1204. data/vendor/bundle/gems/sqlite3-1.3.13/CHANGELOG.rdoc +292 -0
  1205. data/vendor/bundle/gems/sqlite3-1.3.13/ChangeLog.cvs +88 -0
  1206. data/vendor/bundle/gems/sqlite3-1.3.13/Gemfile +15 -0
  1207. data/vendor/bundle/gems/sqlite3-1.3.13/LICENSE +27 -0
  1208. data/vendor/bundle/gems/sqlite3-1.3.13/Manifest.txt +52 -0
  1209. data/vendor/bundle/gems/sqlite3-1.3.13/README.rdoc +118 -0
  1210. data/vendor/bundle/gems/sqlite3-1.3.13/Rakefile +10 -0
  1211. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/.RUBYARCHDIR.-.sqlite3.time +0 -0
  1212. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/Makefile +261 -0
  1213. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/backup.c +168 -0
  1214. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/backup.h +15 -0
  1215. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/backup.o +0 -0
  1216. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/database.c +888 -0
  1217. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/database.h +15 -0
  1218. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/database.o +0 -0
  1219. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/exception.c +94 -0
  1220. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/exception.h +8 -0
  1221. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/exception.o +0 -0
  1222. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/extconf.rb +71 -0
  1223. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/sqlite3.c +152 -0
  1224. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/sqlite3.o +0 -0
  1225. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/sqlite3_native.bundle +0 -0
  1226. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/sqlite3_ruby.h +52 -0
  1227. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/statement.c +447 -0
  1228. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/statement.h +16 -0
  1229. data/vendor/bundle/gems/sqlite3-1.3.13/ext/sqlite3/statement.o +0 -0
  1230. data/vendor/bundle/gems/sqlite3-1.3.13/faq/faq.rb +145 -0
  1231. data/vendor/bundle/gems/sqlite3-1.3.13/faq/faq.yml +426 -0
  1232. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3.rb +15 -0
  1233. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/constants.rb +49 -0
  1234. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/database.rb +591 -0
  1235. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/errors.rb +44 -0
  1236. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/pragmas.rb +588 -0
  1237. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/resultset.rb +195 -0
  1238. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/sqlite3_native.bundle +0 -0
  1239. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb +144 -0
  1240. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/translator.rb +118 -0
  1241. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/value.rb +57 -0
  1242. data/vendor/bundle/gems/sqlite3-1.3.13/lib/sqlite3/version.rb +25 -0
  1243. data/vendor/bundle/gems/sqlite3-1.3.13/setup.rb +1333 -0
  1244. data/vendor/bundle/gems/sqlite3-1.3.13/tasks/faq.rake +9 -0
  1245. data/vendor/bundle/gems/sqlite3-1.3.13/tasks/gem.rake +38 -0
  1246. data/vendor/bundle/gems/sqlite3-1.3.13/tasks/native.rake +52 -0
  1247. data/vendor/bundle/gems/sqlite3-1.3.13/tasks/vendor_sqlite3.rake +97 -0
  1248. data/vendor/bundle/gems/sqlite3-1.3.13/test/helper.rb +18 -0
  1249. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_backup.rb +33 -0
  1250. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_collation.rb +82 -0
  1251. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_database.rb +430 -0
  1252. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_database_readonly.rb +36 -0
  1253. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_deprecated.rb +44 -0
  1254. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_encoding.rb +155 -0
  1255. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration.rb +576 -0
  1256. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration_open_close.rb +30 -0
  1257. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration_pending.rb +115 -0
  1258. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration_resultset.rb +159 -0
  1259. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_integration_statement.rb +194 -0
  1260. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_result_set.rb +37 -0
  1261. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_sqlite3.rb +21 -0
  1262. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_statement.rb +260 -0
  1263. data/vendor/bundle/gems/sqlite3-1.3.13/test/test_statement_execute.rb +35 -0
  1264. data/vendor/bundle/gems/thread_safe-0.3.6/.rspec +2 -0
  1265. data/vendor/bundle/gems/thread_safe-0.3.6/.travis.yml +46 -0
  1266. data/vendor/bundle/gems/thread_safe-0.3.6/.yardopts +13 -0
  1267. data/vendor/bundle/gems/thread_safe-0.3.6/Gemfile +20 -0
  1268. data/vendor/bundle/gems/thread_safe-0.3.6/LICENSE +144 -0
  1269. data/vendor/bundle/gems/thread_safe-0.3.6/README.md +60 -0
  1270. data/vendor/bundle/gems/thread_safe-0.3.6/Rakefile +62 -0
  1271. data/vendor/bundle/gems/thread_safe-0.3.6/examples/bench_cache.rb +35 -0
  1272. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/JRubyCacheBackendLibrary.java +245 -0
  1273. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMap.java +31 -0
  1274. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMapV8.java +3863 -0
  1275. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/LongAdder.java +203 -0
  1276. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/Striped64.java +342 -0
  1277. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/ConcurrentHashMapV8.java +3800 -0
  1278. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/LongAdder.java +204 -0
  1279. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/Striped64.java +291 -0
  1280. data/vendor/bundle/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166y/ThreadLocalRandom.java +199 -0
  1281. data/vendor/bundle/gems/thread_safe-0.3.6/ext/thread_safe/JrubyCacheBackendService.java +15 -0
  1282. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe.rb +65 -0
  1283. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/atomic_reference_cache_backend.rb +908 -0
  1284. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/cache.rb +161 -0
  1285. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/mri_cache_backend.rb +60 -0
  1286. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/non_concurrent_cache_backend.rb +135 -0
  1287. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_cache_backend.rb +77 -0
  1288. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_delegator.rb +43 -0
  1289. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util.rb +16 -0
  1290. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/adder.rb +62 -0
  1291. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/atomic_reference.rb +44 -0
  1292. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/cheap_lockable.rb +106 -0
  1293. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/power_of_two_tuple.rb +26 -0
  1294. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/striped64.rb +222 -0
  1295. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile.rb +64 -0
  1296. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile_tuple.rb +46 -0
  1297. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/util/xor_shift_random.rb +41 -0
  1298. data/vendor/bundle/gems/thread_safe-0.3.6/lib/thread_safe/version.rb +21 -0
  1299. data/vendor/bundle/gems/thread_safe-0.3.6/spec/.gitignore +0 -0
  1300. data/vendor/bundle/gems/thread_safe-0.3.6/spec/spec_helper.rb +31 -0
  1301. data/vendor/bundle/gems/thread_safe-0.3.6/spec/src/thread_safe/SecurityManager.java +21 -0
  1302. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/.gitignore +0 -0
  1303. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/threads.rb +1 -0
  1304. data/vendor/bundle/gems/thread_safe-0.3.6/spec/support/threadsafe_test.rb +75 -0
  1305. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/.gitignore +0 -0
  1306. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/array_spec.rb +18 -0
  1307. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/cache_loops_spec.rb +507 -0
  1308. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/cache_spec.rb +943 -0
  1309. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/hash_spec.rb +17 -0
  1310. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/no_unsafe_spec.rb +27 -0
  1311. data/vendor/bundle/gems/thread_safe-0.3.6/spec/thread_safe/synchronized_delegator_spec.rb +85 -0
  1312. data/vendor/bundle/gems/thread_safe-0.3.6/tasks/update_doc.rake +45 -0
  1313. data/vendor/bundle/gems/thread_safe-0.3.6/thread_safe.gemspec +26 -0
  1314. data/vendor/bundle/gems/thread_safe-0.3.6/yard-template/default/fulldoc/html/css/common.css +125 -0
  1315. data/vendor/bundle/gems/thread_safe-0.3.6/yard-template/default/layout/html/footer.erb +16 -0
  1316. data/vendor/bundle/gems/tzinfo-1.2.5/.yardopts +6 -0
  1317. data/vendor/bundle/gems/tzinfo-1.2.5/CHANGES.md +786 -0
  1318. data/vendor/bundle/gems/tzinfo-1.2.5/LICENSE +19 -0
  1319. data/vendor/bundle/gems/tzinfo-1.2.5/README.md +151 -0
  1320. data/vendor/bundle/gems/tzinfo-1.2.5/Rakefile +107 -0
  1321. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo.rb +40 -0
  1322. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/country.rb +196 -0
  1323. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/country_index_definition.rb +31 -0
  1324. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/country_info.rb +42 -0
  1325. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/country_timezone.rb +135 -0
  1326. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/data_source.rb +190 -0
  1327. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/data_timezone.rb +58 -0
  1328. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/data_timezone_info.rb +55 -0
  1329. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/info_timezone.rb +30 -0
  1330. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/linked_timezone.rb +63 -0
  1331. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/linked_timezone_info.rb +26 -0
  1332. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/offset_rationals.rb +77 -0
  1333. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/ruby_core_support.rb +146 -0
  1334. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/ruby_country_info.rb +74 -0
  1335. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/ruby_data_source.rb +136 -0
  1336. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/time_or_datetime.rb +340 -0
  1337. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone.rb +669 -0
  1338. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_definition.rb +36 -0
  1339. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_index_definition.rb +54 -0
  1340. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_info.rb +30 -0
  1341. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_offset.rb +101 -0
  1342. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_period.rb +245 -0
  1343. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_proxy.rb +105 -0
  1344. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_transition.rb +130 -0
  1345. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/timezone_transition_definition.rb +104 -0
  1346. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/transition_data_timezone_info.rb +274 -0
  1347. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/zoneinfo_country_info.rb +37 -0
  1348. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/zoneinfo_data_source.rb +488 -0
  1349. data/vendor/bundle/gems/tzinfo-1.2.5/lib/tzinfo/zoneinfo_timezone_info.rb +296 -0
  1350. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_country.rb +234 -0
  1351. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_country_index_definition.rb +69 -0
  1352. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_country_info.rb +16 -0
  1353. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_country_timezone.rb +173 -0
  1354. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_data_source.rb +218 -0
  1355. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_data_timezone.rb +99 -0
  1356. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_data_timezone_info.rb +18 -0
  1357. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_info_timezone.rb +34 -0
  1358. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_linked_timezone.rb +155 -0
  1359. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_linked_timezone_info.rb +23 -0
  1360. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_offset_rationals.rb +23 -0
  1361. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_ruby_core_support.rb +168 -0
  1362. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_ruby_country_info.rb +110 -0
  1363. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_ruby_data_source.rb +143 -0
  1364. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_time_or_datetime.rb +654 -0
  1365. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone.rb +1350 -0
  1366. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_definition.rb +113 -0
  1367. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_index_definition.rb +73 -0
  1368. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_info.rb +11 -0
  1369. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_london.rb +143 -0
  1370. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_melbourne.rb +142 -0
  1371. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_new_york.rb +142 -0
  1372. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_offset.rb +126 -0
  1373. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_period.rb +555 -0
  1374. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_proxy.rb +136 -0
  1375. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_transition.rb +366 -0
  1376. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_transition_definition.rb +295 -0
  1377. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_timezone_utc.rb +27 -0
  1378. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_transition_data_timezone_info.rb +423 -0
  1379. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_zoneinfo_country_info.rb +78 -0
  1380. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_zoneinfo_data_source.rb +1195 -0
  1381. data/vendor/bundle/gems/tzinfo-1.2.5/test/tc_zoneinfo_timezone_info.rb +1232 -0
  1382. data/vendor/bundle/gems/tzinfo-1.2.5/test/test_utils.rb +163 -0
  1383. data/vendor/bundle/gems/tzinfo-1.2.5/test/ts_all.rb +7 -0
  1384. data/vendor/bundle/gems/tzinfo-1.2.5/test/ts_all_ruby.rb +5 -0
  1385. data/vendor/bundle/gems/tzinfo-1.2.5/test/ts_all_zoneinfo.rb +7 -0
  1386. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data.rb +8 -0
  1387. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  1388. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +315 -0
  1389. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +218 -0
  1390. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/EST.rb +19 -0
  1391. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  1392. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  1393. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  1394. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +261 -0
  1395. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +186 -0
  1396. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +321 -0
  1397. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +265 -0
  1398. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +220 -0
  1399. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +16 -0
  1400. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/indexes/countries.rb +927 -0
  1401. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +596 -0
  1402. data/vendor/bundle/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/version.rb +14 -0
  1403. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  1404. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/America/New_York +0 -0
  1405. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Australia/Melbourne +0 -0
  1406. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/EST +0 -0
  1407. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Etc/UTC +0 -0
  1408. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Amsterdam +0 -0
  1409. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Andorra +0 -0
  1410. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/London +0 -0
  1411. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Paris +0 -0
  1412. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Prague +0 -0
  1413. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/Factory +0 -0
  1414. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/iso3166.tab +275 -0
  1415. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/leapseconds +61 -0
  1416. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/posix/Europe/London +0 -0
  1417. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/posixrules +0 -0
  1418. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/right/Europe/London +0 -0
  1419. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/zone.tab +439 -0
  1420. data/vendor/bundle/gems/tzinfo-1.2.5/test/zoneinfo/zone1970.tab +369 -0
  1421. data/vendor/bundle/gems/tzinfo-1.2.5/tzinfo.gemspec +21 -0
  1422. data/vendor/bundle/specifications/activemodel-5.2.2.gemspec +34 -0
  1423. data/vendor/bundle/specifications/activerecord-5.2.2.gemspec +43 -0
  1424. data/vendor/bundle/specifications/activesupport-5.2.2.gemspec +44 -0
  1425. data/vendor/bundle/specifications/ansi-1.5.0.gemspec +49 -0
  1426. data/vendor/bundle/specifications/arel-9.0.0.gemspec +45 -0
  1427. data/vendor/bundle/specifications/builder-3.2.3.gemspec +21 -0
  1428. data/vendor/bundle/specifications/concurrent-ruby-1.1.4.gemspec +23 -0
  1429. data/vendor/bundle/specifications/i18n-1.3.0.gemspec +36 -0
  1430. data/vendor/bundle/specifications/minitest-5.11.3.gemspec +39 -0
  1431. data/vendor/bundle/specifications/minitest-reporters-1.3.5.gemspec +52 -0
  1432. data/vendor/bundle/specifications/rake-10.5.0.gemspec +43 -0
  1433. data/vendor/bundle/specifications/ruby-progressbar-1.10.0.gemspec +46 -0
  1434. data/vendor/bundle/specifications/sqlite3-1.3.13.gemspec +56 -0
  1435. data/vendor/bundle/specifications/thread_safe-0.3.6.gemspec +38 -0
  1436. data/vendor/bundle/specifications/tzinfo-1.2.5.gemspec +37 -0
  1437. metadata +1563 -0
@@ -0,0 +1,199 @@
1
+ /*
2
+ * Written by Doug Lea with assistance from members of JCP JSR-166
3
+ * Expert Group and released to the public domain, as explained at
4
+ * http://creativecommons.org/publicdomain/zero/1.0/
5
+ */
6
+
7
+ // This is based on 1.16 version
8
+
9
+ package org.jruby.ext.thread_safe.jsr166y;
10
+
11
+ import java.util.Random;
12
+
13
+ /**
14
+ * A random number generator isolated to the current thread. Like the
15
+ * global {@link java.util.Random} generator used by the {@link
16
+ * java.lang.Math} class, a {@code ThreadLocalRandom} is initialized
17
+ * with an internally generated seed that may not otherwise be
18
+ * modified. When applicable, use of {@code ThreadLocalRandom} rather
19
+ * than shared {@code Random} objects in concurrent programs will
20
+ * typically encounter much less overhead and contention. Use of
21
+ * {@code ThreadLocalRandom} is particularly appropriate when multiple
22
+ * tasks (for example, each a {@link ForkJoinTask}) use random numbers
23
+ * in parallel in thread pools.
24
+ *
25
+ * <p>Usages of this class should typically be of the form:
26
+ * {@code ThreadLocalRandom.current().nextX(...)} (where
27
+ * {@code X} is {@code Int}, {@code Long}, etc).
28
+ * When all usages are of this form, it is never possible to
29
+ * accidently share a {@code ThreadLocalRandom} across multiple threads.
30
+ *
31
+ * <p>This class also provides additional commonly used bounded random
32
+ * generation methods.
33
+ *
34
+ * @since 1.7
35
+ * @author Doug Lea
36
+ */
37
+ public class ThreadLocalRandom extends Random {
38
+ // same constants as Random, but must be redeclared because private
39
+ private static final long multiplier = 0x5DEECE66DL;
40
+ private static final long addend = 0xBL;
41
+ private static final long mask = (1L << 48) - 1;
42
+
43
+ /**
44
+ * The random seed. We can't use super.seed.
45
+ */
46
+ private long rnd;
47
+
48
+ /**
49
+ * Initialization flag to permit calls to setSeed to succeed only
50
+ * while executing the Random constructor. We can't allow others
51
+ * since it would cause setting seed in one part of a program to
52
+ * unintentionally impact other usages by the thread.
53
+ */
54
+ boolean initialized;
55
+
56
+ // Padding to help avoid memory contention among seed updates in
57
+ // different TLRs in the common case that they are located near
58
+ // each other.
59
+ private long pad0, pad1, pad2, pad3, pad4, pad5, pad6, pad7;
60
+
61
+ /**
62
+ * The actual ThreadLocal
63
+ */
64
+ private static final ThreadLocal<ThreadLocalRandom> localRandom =
65
+ new ThreadLocal<ThreadLocalRandom>() {
66
+ protected ThreadLocalRandom initialValue() {
67
+ return new ThreadLocalRandom();
68
+ }
69
+ };
70
+
71
+
72
+ /**
73
+ * Constructor called only by localRandom.initialValue.
74
+ */
75
+ ThreadLocalRandom() {
76
+ super();
77
+ initialized = true;
78
+ }
79
+
80
+ /**
81
+ * Returns the current thread's {@code ThreadLocalRandom}.
82
+ *
83
+ * @return the current thread's {@code ThreadLocalRandom}
84
+ */
85
+ public static ThreadLocalRandom current() {
86
+ return localRandom.get();
87
+ }
88
+
89
+ /**
90
+ * Throws {@code UnsupportedOperationException}. Setting seeds in
91
+ * this generator is not supported.
92
+ *
93
+ * @throws UnsupportedOperationException always
94
+ */
95
+ public void setSeed(long seed) {
96
+ if (initialized)
97
+ throw new UnsupportedOperationException();
98
+ rnd = (seed ^ multiplier) & mask;
99
+ }
100
+
101
+ protected int next(int bits) {
102
+ rnd = (rnd * multiplier + addend) & mask;
103
+ return (int) (rnd >>> (48-bits));
104
+ }
105
+
106
+ /**
107
+ * Returns a pseudorandom, uniformly distributed value between the
108
+ * given least value (inclusive) and bound (exclusive).
109
+ *
110
+ * @param least the least value returned
111
+ * @param bound the upper bound (exclusive)
112
+ * @throws IllegalArgumentException if least greater than or equal
113
+ * to bound
114
+ * @return the next value
115
+ */
116
+ public int nextInt(int least, int bound) {
117
+ if (least >= bound)
118
+ throw new IllegalArgumentException();
119
+ return nextInt(bound - least) + least;
120
+ }
121
+
122
+ /**
123
+ * Returns a pseudorandom, uniformly distributed value
124
+ * between 0 (inclusive) and the specified value (exclusive).
125
+ *
126
+ * @param n the bound on the random number to be returned. Must be
127
+ * positive.
128
+ * @return the next value
129
+ * @throws IllegalArgumentException if n is not positive
130
+ */
131
+ public long nextLong(long n) {
132
+ if (n <= 0)
133
+ throw new IllegalArgumentException("n must be positive");
134
+ // Divide n by two until small enough for nextInt. On each
135
+ // iteration (at most 31 of them but usually much less),
136
+ // randomly choose both whether to include high bit in result
137
+ // (offset) and whether to continue with the lower vs upper
138
+ // half (which makes a difference only if odd).
139
+ long offset = 0;
140
+ while (n >= Integer.MAX_VALUE) {
141
+ int bits = next(2);
142
+ long half = n >>> 1;
143
+ long nextn = ((bits & 2) == 0) ? half : n - half;
144
+ if ((bits & 1) == 0)
145
+ offset += n - nextn;
146
+ n = nextn;
147
+ }
148
+ return offset + nextInt((int) n);
149
+ }
150
+
151
+ /**
152
+ * Returns a pseudorandom, uniformly distributed value between the
153
+ * given least value (inclusive) and bound (exclusive).
154
+ *
155
+ * @param least the least value returned
156
+ * @param bound the upper bound (exclusive)
157
+ * @return the next value
158
+ * @throws IllegalArgumentException if least greater than or equal
159
+ * to bound
160
+ */
161
+ public long nextLong(long least, long bound) {
162
+ if (least >= bound)
163
+ throw new IllegalArgumentException();
164
+ return nextLong(bound - least) + least;
165
+ }
166
+
167
+ /**
168
+ * Returns a pseudorandom, uniformly distributed {@code double} value
169
+ * between 0 (inclusive) and the specified value (exclusive).
170
+ *
171
+ * @param n the bound on the random number to be returned. Must be
172
+ * positive.
173
+ * @return the next value
174
+ * @throws IllegalArgumentException if n is not positive
175
+ */
176
+ public double nextDouble(double n) {
177
+ if (n <= 0)
178
+ throw new IllegalArgumentException("n must be positive");
179
+ return nextDouble() * n;
180
+ }
181
+
182
+ /**
183
+ * Returns a pseudorandom, uniformly distributed value between the
184
+ * given least value (inclusive) and bound (exclusive).
185
+ *
186
+ * @param least the least value returned
187
+ * @param bound the upper bound (exclusive)
188
+ * @return the next value
189
+ * @throws IllegalArgumentException if least greater than or equal
190
+ * to bound
191
+ */
192
+ public double nextDouble(double least, double bound) {
193
+ if (least >= bound)
194
+ throw new IllegalArgumentException();
195
+ return nextDouble() * (bound - least) + least;
196
+ }
197
+
198
+ private static final long serialVersionUID = -5851777807851030925L;
199
+ }
@@ -0,0 +1,15 @@
1
+ package thread_safe;
2
+
3
+ import java.io.IOException;
4
+
5
+ import org.jruby.Ruby;
6
+ import org.jruby.ext.thread_safe.JRubyCacheBackendLibrary;
7
+ import org.jruby.runtime.load.BasicLibraryService;
8
+
9
+ // can't name this JRubyCacheBackendService or else JRuby doesn't pick this up
10
+ public class JrubyCacheBackendService implements BasicLibraryService {
11
+ public boolean basicLoad(final Ruby runtime) throws IOException {
12
+ new JRubyCacheBackendLibrary().load(runtime, false);
13
+ return true;
14
+ }
15
+ }
@@ -0,0 +1,65 @@
1
+ require 'thread_safe/version'
2
+ require 'thread_safe/synchronized_delegator'
3
+
4
+ module ThreadSafe
5
+ autoload :Cache, 'thread_safe/cache'
6
+ autoload :Util, 'thread_safe/util'
7
+
8
+ # Various classes within allows for +nil+ values to be stored, so a special +NULL+ token is required to indicate the "nil-ness".
9
+ NULL = Object.new
10
+
11
+ if defined?(JRUBY_VERSION)
12
+ require 'jruby/synchronized'
13
+
14
+ # A thread-safe subclass of Array. This version locks
15
+ # against the object itself for every method call,
16
+ # ensuring only one thread can be reading or writing
17
+ # at a time. This includes iteration methods like
18
+ # #each.
19
+ class Array < ::Array
20
+ include JRuby::Synchronized
21
+ end
22
+
23
+ # A thread-safe subclass of Hash. This version locks
24
+ # against the object itself for every method call,
25
+ # ensuring only one thread can be reading or writing
26
+ # at a time. This includes iteration methods like
27
+ # #each.
28
+ class Hash < ::Hash
29
+ include JRuby::Synchronized
30
+ end
31
+ elsif !defined?(RUBY_ENGINE) || RUBY_ENGINE == 'ruby'
32
+ # Because MRI never runs code in parallel, the existing
33
+ # non-thread-safe structures should usually work fine.
34
+ Array = ::Array
35
+ Hash = ::Hash
36
+ elsif defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
37
+ require 'monitor'
38
+
39
+ class Hash < ::Hash; end
40
+ class Array < ::Array; end
41
+
42
+ [Hash, Array].each do |klass|
43
+ klass.class_eval do
44
+ private
45
+ def _mon_initialize
46
+ @_monitor = Monitor.new unless @_monitor # avoid double initialisation
47
+ end
48
+
49
+ def self.allocate
50
+ obj = super
51
+ obj.send(:_mon_initialize)
52
+ obj
53
+ end
54
+ end
55
+
56
+ klass.superclass.instance_methods(false).each do |method|
57
+ klass.class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
58
+ def #{method}(*args)
59
+ @_monitor.synchronize { super }
60
+ end
61
+ RUBY_EVAL
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,908 @@
1
+ module ThreadSafe
2
+ # A Ruby port of the Doug Lea's jsr166e.ConcurrentHashMapV8 class version 1.59
3
+ # available in public domain.
4
+ #
5
+ # Original source code available here:
6
+ # http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/jsr166e/ConcurrentHashMapV8.java?revision=1.59
7
+ #
8
+ # The Ruby port skips out the +TreeBin+ (red-black trees for use in bins whose
9
+ # size exceeds a threshold).
10
+ #
11
+ # A hash table supporting full concurrency of retrievals and high expected
12
+ # concurrency for updates. However, even though all operations are
13
+ # thread-safe, retrieval operations do _not_ entail locking, and there is
14
+ # _not_ any support for locking the entire table in a way that prevents all
15
+ # access.
16
+ #
17
+ # Retrieval operations generally do not block, so may overlap with update
18
+ # operations. Retrievals reflect the results of the most recently _completed_
19
+ # update operations holding upon their onset. (More formally, an update
20
+ # operation for a given key bears a _happens-before_ relation with any (non
21
+ # +nil+) retrieval for that key reporting the updated value.) For aggregate
22
+ # operations such as +clear()+, concurrent retrievals may reflect insertion or
23
+ # removal of only some entries. Similarly, the +each_pair+ iterator yields
24
+ # elements reflecting the state of the hash table at some point at or since
25
+ # the start of the +each_pair+. Bear in mind that the results of aggregate
26
+ # status methods including +size()+ and +empty?+} are typically useful only
27
+ # when a map is not undergoing concurrent updates in other threads. Otherwise
28
+ # the results of these methods reflect transient states that may be adequate
29
+ # for monitoring or estimation purposes, but not for program control.
30
+ #
31
+ # The table is dynamically expanded when there are too many collisions (i.e.,
32
+ # keys that have distinct hash codes but fall into the same slot modulo the
33
+ # table size), with the expected average effect of maintaining roughly two
34
+ # bins per mapping (corresponding to a 0.75 load factor threshold for
35
+ # resizing). There may be much variance around this average as mappings are
36
+ # added and removed, but overall, this maintains a commonly accepted
37
+ # time/space tradeoff for hash tables. However, resizing this or any other
38
+ # kind of hash table may be a relatively slow operation. When possible, it is
39
+ # a good idea to provide a size estimate as an optional :initial_capacity
40
+ # initializer argument. An additional optional :load_factor constructor
41
+ # argument provides a further means of customizing initial table capacity by
42
+ # specifying the table density to be used in calculating the amount of space
43
+ # to allocate for the given number of elements. Note that using many keys with
44
+ # exactly the same +hash+ is a sure way to slow down performance of any hash
45
+ # table.
46
+ #
47
+ # ## Design overview
48
+ #
49
+ # The primary design goal of this hash table is to maintain concurrent
50
+ # readability (typically method +[]+, but also iteration and related methods)
51
+ # while minimizing update contention. Secondary goals are to keep space
52
+ # consumption about the same or better than plain +Hash+, and to support high
53
+ # initial insertion rates on an empty table by many threads.
54
+ #
55
+ # Each key-value mapping is held in a +Node+. The validation-based approach
56
+ # explained below leads to a lot of code sprawl because retry-control
57
+ # precludes factoring into smaller methods.
58
+ #
59
+ # The table is lazily initialized to a power-of-two size upon the first
60
+ # insertion. Each bin in the table normally contains a list of +Node+s (most
61
+ # often, the list has only zero or one +Node+). Table accesses require
62
+ # volatile/atomic reads, writes, and CASes. The lists of nodes within bins are
63
+ # always accurately traversable under volatile reads, so long as lookups check
64
+ # hash code and non-nullness of value before checking key equality.
65
+ #
66
+ # We use the top two bits of +Node+ hash fields for control purposes -- they
67
+ # are available anyway because of addressing constraints. As explained further
68
+ # below, these top bits are used as follows:
69
+ #
70
+ # - 00 - Normal
71
+ # - 01 - Locked
72
+ # - 11 - Locked and may have a thread waiting for lock
73
+ # - 10 - +Node+ is a forwarding node
74
+ #
75
+ # The lower 28 bits of each +Node+'s hash field contain a the key's hash code,
76
+ # except for forwarding nodes, for which the lower bits are zero (and so
77
+ # always have hash field == +MOVED+).
78
+ #
79
+ # Insertion (via +[]=+ or its variants) of the first node in an empty bin is
80
+ # performed by just CASing it to the bin. This is by far the most common case
81
+ # for put operations under most key/hash distributions. Other update
82
+ # operations (insert, delete, and replace) require locks. We do not want to
83
+ # waste the space required to associate a distinct lock object with each bin,
84
+ # so instead use the first node of a bin list itself as a lock. Blocking
85
+ # support for these locks relies +Util::CheapLockable. However, we also need a
86
+ # +try_lock+ construction, so we overlay these by using bits of the +Node+
87
+ # hash field for lock control (see above), and so normally use builtin
88
+ # monitors only for blocking and signalling using
89
+ # +cheap_wait+/+cheap_broadcast+ constructions. See +Node#try_await_lock+.
90
+ #
91
+ # Using the first node of a list as a lock does not by itself suffice though:
92
+ # When a node is locked, any update must first validate that it is still the
93
+ # first node after locking it, and retry if not. Because new nodes are always
94
+ # appended to lists, once a node is first in a bin, it remains first until
95
+ # deleted or the bin becomes invalidated (upon resizing). However, operations
96
+ # that only conditionally update may inspect nodes until the point of update.
97
+ # This is a converse of sorts to the lazy locking technique described by
98
+ # Herlihy & Shavit.
99
+ #
100
+ # The main disadvantage of per-bin locks is that other update operations on
101
+ # other nodes in a bin list protected by the same lock can stall, for example
102
+ # when user +eql?+ or mapping functions take a long time. However,
103
+ # statistically, under random hash codes, this is not a common problem.
104
+ # Ideally, the frequency of nodes in bins follows a Poisson distribution
105
+ # (http://en.wikipedia.org/wiki/Poisson_distribution) with a parameter of
106
+ # about 0.5 on average, given the resizing threshold of 0.75, although with a
107
+ # large variance because of resizing granularity. Ignoring variance, the
108
+ # expected occurrences of list size k are (exp(-0.5) * pow(0.5, k) /
109
+ # factorial(k)). The first values are:
110
+ #
111
+ # - 0: 0.60653066
112
+ # - 1: 0.30326533
113
+ # - 2: 0.07581633
114
+ # - 3: 0.01263606
115
+ # - 4: 0.00157952
116
+ # - 5: 0.00015795
117
+ # - 6: 0.00001316
118
+ # - 7: 0.00000094
119
+ # - 8: 0.00000006
120
+ # - more: less than 1 in ten million
121
+ #
122
+ # Lock contention probability for two threads accessing distinct elements is
123
+ # roughly 1 / (8 * #elements) under random hashes.
124
+ #
125
+ # The table is resized when occupancy exceeds a percentage threshold
126
+ # (nominally, 0.75, but see below). Only a single thread performs the resize
127
+ # (using field +size_control+, to arrange exclusion), but the table otherwise
128
+ # remains usable for reads and updates. Resizing proceeds by transferring
129
+ # bins, one by one, from the table to the next table. Because we are using
130
+ # power-of-two expansion, the elements from each bin must either stay at same
131
+ # index, or move with a power of two offset. We eliminate unnecessary node
132
+ # creation by catching cases where old nodes can be reused because their next
133
+ # fields won't change. On average, only about one-sixth of them need cloning
134
+ # when a table doubles. The nodes they replace will be garbage collectable as
135
+ # soon as they are no longer referenced by any reader thread that may be in
136
+ # the midst of concurrently traversing table. Upon transfer, the old table bin
137
+ # contains only a special forwarding node (with hash field +MOVED+) that
138
+ # contains the next table as its key. On encountering a forwarding node,
139
+ # access and update operations restart, using the new table.
140
+ #
141
+ # Each bin transfer requires its bin lock. However, unlike other cases, a
142
+ # transfer can skip a bin if it fails to acquire its lock, and revisit it
143
+ # later. Method +rebuild+ maintains a buffer of TRANSFER_BUFFER_SIZE bins that
144
+ # have been skipped because of failure to acquire a lock, and blocks only if
145
+ # none are available (i.e., only very rarely). The transfer operation must
146
+ # also ensure that all accessible bins in both the old and new table are
147
+ # usable by any traversal. When there are no lock acquisition failures, this
148
+ # is arranged simply by proceeding from the last bin (+table.size - 1+) up
149
+ # towards the first. Upon seeing a forwarding node, traversals arrange to move
150
+ # to the new table without revisiting nodes. However, when any node is skipped
151
+ # during a transfer, all earlier table bins may have become visible, so are
152
+ # initialized with a reverse-forwarding node back to the old table until the
153
+ # new ones are established. (This sometimes requires transiently locking a
154
+ # forwarding node, which is possible under the above encoding.) These more
155
+ # expensive mechanics trigger only when necessary.
156
+ #
157
+ # The traversal scheme also applies to partial traversals of
158
+ # ranges of bins (via an alternate Traverser constructor)
159
+ # to support partitioned aggregate operations. Also, read-only
160
+ # operations give up if ever forwarded to a null table, which
161
+ # provides support for shutdown-style clearing, which is also not
162
+ # currently implemented.
163
+ #
164
+ # Lazy table initialization minimizes footprint until first use.
165
+ #
166
+ # The element count is maintained using a +ThreadSafe::Util::Adder+,
167
+ # which avoids contention on updates but can encounter cache thrashing
168
+ # if read too frequently during concurrent access. To avoid reading so
169
+ # often, resizing is attempted either when a bin lock is
170
+ # contended, or upon adding to a bin already holding two or more
171
+ # nodes (checked before adding in the +x_if_absent+ methods, after
172
+ # adding in others). Under uniform hash distributions, the
173
+ # probability of this occurring at threshold is around 13%,
174
+ # meaning that only about 1 in 8 puts check threshold (and after
175
+ # resizing, many fewer do so). But this approximation has high
176
+ # variance for small table sizes, so we check on any collision
177
+ # for sizes <= 64. The bulk putAll operation further reduces
178
+ # contention by only committing count updates upon these size
179
+ # checks.
180
+ class AtomicReferenceCacheBackend
181
+ class Table < Util::PowerOfTwoTuple
182
+ def cas_new_node(i, hash, key, value)
183
+ cas(i, nil, Node.new(hash, key, value))
184
+ end
185
+
186
+ def try_to_cas_in_computed(i, hash, key)
187
+ succeeded = false
188
+ new_value = nil
189
+ new_node = Node.new(locked_hash = hash | LOCKED, key, NULL)
190
+ if cas(i, nil, new_node)
191
+ begin
192
+ if NULL == (new_value = yield(NULL))
193
+ was_null = true
194
+ else
195
+ new_node.value = new_value
196
+ end
197
+ succeeded = true
198
+ ensure
199
+ volatile_set(i, nil) if !succeeded || was_null
200
+ new_node.unlock_via_hash(locked_hash, hash)
201
+ end
202
+ end
203
+ return succeeded, new_value
204
+ end
205
+
206
+ def try_lock_via_hash(i, node, node_hash)
207
+ node.try_lock_via_hash(node_hash) do
208
+ yield if volatile_get(i) == node
209
+ end
210
+ end
211
+
212
+ def delete_node_at(i, node, predecessor_node)
213
+ if predecessor_node
214
+ predecessor_node.next = node.next
215
+ else
216
+ volatile_set(i, node.next)
217
+ end
218
+ end
219
+ end
220
+
221
+ # Key-value entry. Nodes with a hash field of +MOVED+ are special, and do
222
+ # not contain user keys or values. Otherwise, keys are never +nil+, and
223
+ # +NULL+ +value+ fields indicate that a node is in the process of being
224
+ # deleted or created. For purposes of read-only access, a key may be read
225
+ # before a value, but can only be used after checking value to be +!= NULL+.
226
+ class Node
227
+ extend Util::Volatile
228
+ attr_volatile :hash, :value, :next
229
+
230
+ include Util::CheapLockable
231
+
232
+ bit_shift = Util::FIXNUM_BIT_SIZE - 2 # need 2 bits for ourselves
233
+ # Encodings for special uses of Node hash fields. See above for explanation.
234
+ MOVED = ('10' << ('0' * bit_shift)).to_i(2) # hash field for forwarding nodes
235
+ LOCKED = ('01' << ('0' * bit_shift)).to_i(2) # set/tested only as a bit
236
+ WAITING = ('11' << ('0' * bit_shift)).to_i(2) # both bits set/tested together
237
+ HASH_BITS = ('00' << ('1' * bit_shift)).to_i(2) # usable bits of normal node hash
238
+
239
+ SPIN_LOCK_ATTEMPTS = Util::CPU_COUNT > 1 ? Util::CPU_COUNT * 2 : 0
240
+
241
+ attr_reader :key
242
+
243
+ def initialize(hash, key, value, next_node = nil)
244
+ super()
245
+ @key = key
246
+ self.lazy_set_hash(hash)
247
+ self.lazy_set_value(value)
248
+ self.next = next_node
249
+ end
250
+
251
+ # Spins a while if +LOCKED+ bit set and this node is the first of its bin,
252
+ # and then sets +WAITING+ bits on hash field and blocks (once) if they are
253
+ # still set. It is OK for this method to return even if lock is not
254
+ # available upon exit, which enables these simple single-wait mechanics.
255
+ #
256
+ # The corresponding signalling operation is performed within callers: Upon
257
+ # detecting that +WAITING+ has been set when unlocking lock (via a failed
258
+ # CAS from non-waiting +LOCKED+ state), unlockers acquire the
259
+ # +cheap_synchronize+ lock and perform a +cheap_broadcast+.
260
+ def try_await_lock(table, i)
261
+ if table && i >= 0 && i < table.size # bounds check, TODO: why are we bounds checking?
262
+ spins = SPIN_LOCK_ATTEMPTS
263
+ randomizer = base_randomizer = Util::XorShiftRandom.get
264
+ while equal?(table.volatile_get(i)) && self.class.locked_hash?(my_hash = hash)
265
+ if spins >= 0
266
+ if (randomizer = (randomizer >> 1)).even? # spin at random
267
+ if (spins -= 1) == 0
268
+ Thread.pass # yield before blocking
269
+ else
270
+ randomizer = base_randomizer = Util::XorShiftRandom.xorshift(base_randomizer) if randomizer.zero?
271
+ end
272
+ end
273
+ elsif cas_hash(my_hash, my_hash | WAITING)
274
+ force_aquire_lock(table, i)
275
+ break
276
+ end
277
+ end
278
+ end
279
+ end
280
+
281
+ def key?(key)
282
+ @key.eql?(key)
283
+ end
284
+
285
+ def matches?(key, hash)
286
+ pure_hash == hash && key?(key)
287
+ end
288
+
289
+ def pure_hash
290
+ hash & HASH_BITS
291
+ end
292
+
293
+ def try_lock_via_hash(node_hash = hash)
294
+ if cas_hash(node_hash, locked_hash = node_hash | LOCKED)
295
+ begin
296
+ yield
297
+ ensure
298
+ unlock_via_hash(locked_hash, node_hash)
299
+ end
300
+ end
301
+ end
302
+
303
+ def locked?
304
+ self.class.locked_hash?(hash)
305
+ end
306
+
307
+ def unlock_via_hash(locked_hash, node_hash)
308
+ unless cas_hash(locked_hash, node_hash)
309
+ self.hash = node_hash
310
+ cheap_synchronize { cheap_broadcast }
311
+ end
312
+ end
313
+
314
+ private
315
+ def force_aquire_lock(table, i)
316
+ cheap_synchronize do
317
+ if equal?(table.volatile_get(i)) && (hash & WAITING) == WAITING
318
+ cheap_wait
319
+ else
320
+ cheap_broadcast # possibly won race vs signaller
321
+ end
322
+ end
323
+ end
324
+
325
+ class << self
326
+ def locked_hash?(hash)
327
+ (hash & LOCKED) != 0
328
+ end
329
+ end
330
+ end
331
+
332
+ # shorthands
333
+ MOVED = Node::MOVED
334
+ LOCKED = Node::LOCKED
335
+ WAITING = Node::WAITING
336
+ HASH_BITS = Node::HASH_BITS
337
+
338
+ NOW_RESIZING = -1
339
+ DEFAULT_CAPACITY = 16
340
+ MAX_CAPACITY = Util::MAX_INT
341
+
342
+ # The buffer size for skipped bins during transfers. The
343
+ # value is arbitrary but should be large enough to avoid
344
+ # most locking stalls during resizes.
345
+ TRANSFER_BUFFER_SIZE = 32
346
+
347
+ extend Util::Volatile
348
+ attr_volatile :table, # The array of bins. Lazily initialized upon first insertion. Size is always a power of two.
349
+
350
+ # Table initialization and resizing control. When negative, the
351
+ # table is being initialized or resized. Otherwise, when table is
352
+ # null, holds the initial table size to use upon creation, or 0
353
+ # for default. After initialization, holds the next element count
354
+ # value upon which to resize the table.
355
+ :size_control
356
+
357
+ def initialize(options = nil)
358
+ super()
359
+ @counter = Util::Adder.new
360
+ initial_capacity = options && options[:initial_capacity] || DEFAULT_CAPACITY
361
+ self.size_control = (capacity = table_size_for(initial_capacity)) > MAX_CAPACITY ? MAX_CAPACITY : capacity
362
+ end
363
+
364
+ def get_or_default(key, else_value = nil)
365
+ hash = key_hash(key)
366
+ current_table = table
367
+ while current_table
368
+ node = current_table.volatile_get_by_hash(hash)
369
+ current_table =
370
+ while node
371
+ if (node_hash = node.hash) == MOVED
372
+ break node.key
373
+ elsif (node_hash & HASH_BITS) == hash && node.key?(key) && NULL != (value = node.value)
374
+ return value
375
+ end
376
+ node = node.next
377
+ end
378
+ end
379
+ else_value
380
+ end
381
+
382
+ def [](key)
383
+ get_or_default(key)
384
+ end
385
+
386
+ def key?(key)
387
+ get_or_default(key, NULL) != NULL
388
+ end
389
+
390
+ def []=(key, value)
391
+ get_and_set(key, value)
392
+ value
393
+ end
394
+
395
+ def compute_if_absent(key)
396
+ hash = key_hash(key)
397
+ current_table = table || initialize_table
398
+ while true
399
+ if !(node = current_table.volatile_get(i = current_table.hash_to_index(hash)))
400
+ succeeded, new_value = current_table.try_to_cas_in_computed(i, hash, key) { yield }
401
+ if succeeded
402
+ increment_size
403
+ return new_value
404
+ end
405
+ elsif (node_hash = node.hash) == MOVED
406
+ current_table = node.key
407
+ elsif NULL != (current_value = find_value_in_node_list(node, key, hash, node_hash & HASH_BITS))
408
+ return current_value
409
+ elsif Node.locked_hash?(node_hash)
410
+ try_await_lock(current_table, i, node)
411
+ else
412
+ succeeded, value = attempt_internal_compute_if_absent(key, hash, current_table, i, node, node_hash) { yield }
413
+ return value if succeeded
414
+ end
415
+ end
416
+ end
417
+
418
+ def compute_if_present(key)
419
+ new_value = nil
420
+ internal_replace(key) do |old_value|
421
+ if (new_value = yield(NULL == old_value ? nil : old_value)).nil?
422
+ NULL
423
+ else
424
+ new_value
425
+ end
426
+ end
427
+ new_value
428
+ end
429
+
430
+ def compute(key)
431
+ internal_compute(key) do |old_value|
432
+ if (new_value = yield(NULL == old_value ? nil : old_value)).nil?
433
+ NULL
434
+ else
435
+ new_value
436
+ end
437
+ end
438
+ end
439
+
440
+ def merge_pair(key, value)
441
+ internal_compute(key) do |old_value|
442
+ if NULL == old_value || !(value = yield(old_value)).nil?
443
+ value
444
+ else
445
+ NULL
446
+ end
447
+ end
448
+ end
449
+
450
+ def replace_pair(key, old_value, new_value)
451
+ NULL != internal_replace(key, old_value) { new_value }
452
+ end
453
+
454
+ def replace_if_exists(key, new_value)
455
+ if (result = internal_replace(key) { new_value }) && NULL != result
456
+ result
457
+ end
458
+ end
459
+
460
+ def get_and_set(key, value) # internalPut in the original CHMV8
461
+ hash = key_hash(key)
462
+ current_table = table || initialize_table
463
+ while true
464
+ if !(node = current_table.volatile_get(i = current_table.hash_to_index(hash)))
465
+ if current_table.cas_new_node(i, hash, key, value)
466
+ increment_size
467
+ break
468
+ end
469
+ elsif (node_hash = node.hash) == MOVED
470
+ current_table = node.key
471
+ elsif Node.locked_hash?(node_hash)
472
+ try_await_lock(current_table, i, node)
473
+ else
474
+ succeeded, old_value = attempt_get_and_set(key, value, hash, current_table, i, node, node_hash)
475
+ break old_value if succeeded
476
+ end
477
+ end
478
+ end
479
+
480
+ def delete(key)
481
+ replace_if_exists(key, NULL)
482
+ end
483
+
484
+ def delete_pair(key, value)
485
+ result = internal_replace(key, value) { NULL }
486
+ if result && NULL != result
487
+ !!result
488
+ else
489
+ false
490
+ end
491
+ end
492
+
493
+ def each_pair
494
+ return self unless current_table = table
495
+ current_table_size = base_size = current_table.size
496
+ i = base_index = 0
497
+ while base_index < base_size
498
+ if node = current_table.volatile_get(i)
499
+ if node.hash == MOVED
500
+ current_table = node.key
501
+ current_table_size = current_table.size
502
+ else
503
+ begin
504
+ if NULL != (value = node.value) # skip deleted or special nodes
505
+ yield node.key, value
506
+ end
507
+ end while node = node.next
508
+ end
509
+ end
510
+
511
+ if (i_with_base = i + base_size) < current_table_size
512
+ i = i_with_base # visit upper slots if present
513
+ else
514
+ i = base_index += 1
515
+ end
516
+ end
517
+ self
518
+ end
519
+
520
+ def size
521
+ (sum = @counter.sum) < 0 ? 0 : sum # ignore transient negative values
522
+ end
523
+
524
+ def empty?
525
+ size == 0
526
+ end
527
+
528
+ # Implementation for clear. Steps through each bin, removing all nodes.
529
+ def clear
530
+ return self unless current_table = table
531
+ current_table_size = current_table.size
532
+ deleted_count = i = 0
533
+ while i < current_table_size
534
+ if !(node = current_table.volatile_get(i))
535
+ i += 1
536
+ elsif (node_hash = node.hash) == MOVED
537
+ current_table = node.key
538
+ current_table_size = current_table.size
539
+ elsif Node.locked_hash?(node_hash)
540
+ decrement_size(deleted_count) # opportunistically update count
541
+ deleted_count = 0
542
+ node.try_await_lock(current_table, i)
543
+ else
544
+ current_table.try_lock_via_hash(i, node, node_hash) do
545
+ begin
546
+ deleted_count += 1 if NULL != node.value # recheck under lock
547
+ node.value = nil
548
+ end while node = node.next
549
+ current_table.volatile_set(i, nil)
550
+ i += 1
551
+ end
552
+ end
553
+ end
554
+ decrement_size(deleted_count)
555
+ self
556
+ end
557
+
558
+ private
559
+ # Internal versions of the insertion methods, each a
560
+ # little more complicated than the last. All have
561
+ # the same basic structure:
562
+ # 1. If table uninitialized, create
563
+ # 2. If bin empty, try to CAS new node
564
+ # 3. If bin stale, use new table
565
+ # 4. Lock and validate; if valid, scan and add or update
566
+ #
567
+ # The others interweave other checks and/or alternative actions:
568
+ # * Plain +get_and_set+ checks for and performs resize after insertion.
569
+ # * compute_if_absent prescans for mapping without lock (and fails to add
570
+ # if present), which also makes pre-emptive resize checks worthwhile.
571
+ #
572
+ # Someday when details settle down a bit more, it might be worth
573
+ # some factoring to reduce sprawl.
574
+ def internal_replace(key, expected_old_value = NULL, &block)
575
+ hash = key_hash(key)
576
+ current_table = table
577
+ while current_table
578
+ if !(node = current_table.volatile_get(i = current_table.hash_to_index(hash)))
579
+ break
580
+ elsif (node_hash = node.hash) == MOVED
581
+ current_table = node.key
582
+ elsif (node_hash & HASH_BITS) != hash && !node.next # precheck
583
+ break # rules out possible existence
584
+ elsif Node.locked_hash?(node_hash)
585
+ try_await_lock(current_table, i, node)
586
+ else
587
+ succeeded, old_value = attempt_internal_replace(key, expected_old_value, hash, current_table, i, node, node_hash, &block)
588
+ return old_value if succeeded
589
+ end
590
+ end
591
+ NULL
592
+ end
593
+
594
+ def attempt_internal_replace(key, expected_old_value, hash, current_table, i, node, node_hash)
595
+ current_table.try_lock_via_hash(i, node, node_hash) do
596
+ predecessor_node = nil
597
+ old_value = NULL
598
+ begin
599
+ if node.matches?(key, hash) && NULL != (current_value = node.value)
600
+ if NULL == expected_old_value || expected_old_value == current_value # NULL == expected_old_value means whatever value
601
+ old_value = current_value
602
+ if NULL == (node.value = yield(old_value))
603
+ current_table.delete_node_at(i, node, predecessor_node)
604
+ decrement_size
605
+ end
606
+ end
607
+ break
608
+ end
609
+
610
+ predecessor_node = node
611
+ end while node = node.next
612
+
613
+ return true, old_value
614
+ end
615
+ end
616
+
617
+ def find_value_in_node_list(node, key, hash, pure_hash)
618
+ do_check_for_resize = false
619
+ while true
620
+ if pure_hash == hash && node.key?(key) && NULL != (value = node.value)
621
+ return value
622
+ elsif node = node.next
623
+ do_check_for_resize = true # at least 2 nodes -> check for resize
624
+ pure_hash = node.pure_hash
625
+ else
626
+ return NULL
627
+ end
628
+ end
629
+ ensure
630
+ check_for_resize if do_check_for_resize
631
+ end
632
+
633
+ def internal_compute(key, &block)
634
+ hash = key_hash(key)
635
+ current_table = table || initialize_table
636
+ while true
637
+ if !(node = current_table.volatile_get(i = current_table.hash_to_index(hash)))
638
+ succeeded, new_value = current_table.try_to_cas_in_computed(i, hash, key, &block)
639
+ if succeeded
640
+ if NULL == new_value
641
+ break nil
642
+ else
643
+ increment_size
644
+ break new_value
645
+ end
646
+ end
647
+ elsif (node_hash = node.hash) == MOVED
648
+ current_table = node.key
649
+ elsif Node.locked_hash?(node_hash)
650
+ try_await_lock(current_table, i, node)
651
+ else
652
+ succeeded, new_value = attempt_compute(key, hash, current_table, i, node, node_hash, &block)
653
+ break new_value if succeeded
654
+ end
655
+ end
656
+ end
657
+
658
+ def attempt_internal_compute_if_absent(key, hash, current_table, i, node, node_hash)
659
+ added = false
660
+ current_table.try_lock_via_hash(i, node, node_hash) do
661
+ while true
662
+ if node.matches?(key, hash) && NULL != (value = node.value)
663
+ return true, value
664
+ end
665
+ last = node
666
+ unless node = node.next
667
+ last.next = Node.new(hash, key, value = yield)
668
+ added = true
669
+ increment_size
670
+ return true, value
671
+ end
672
+ end
673
+ end
674
+ ensure
675
+ check_for_resize if added
676
+ end
677
+
678
+ def attempt_compute(key, hash, current_table, i, node, node_hash)
679
+ added = false
680
+ current_table.try_lock_via_hash(i, node, node_hash) do
681
+ predecessor_node = nil
682
+ while true
683
+ if node.matches?(key, hash) && NULL != (value = node.value)
684
+ if NULL == (node.value = value = yield(value))
685
+ current_table.delete_node_at(i, node, predecessor_node)
686
+ decrement_size
687
+ value = nil
688
+ end
689
+ return true, value
690
+ end
691
+ predecessor_node = node
692
+ unless node = node.next
693
+ if NULL == (value = yield(NULL))
694
+ value = nil
695
+ else
696
+ predecessor_node.next = Node.new(hash, key, value)
697
+ added = true
698
+ increment_size
699
+ end
700
+ return true, value
701
+ end
702
+ end
703
+ end
704
+ ensure
705
+ check_for_resize if added
706
+ end
707
+
708
+ def attempt_get_and_set(key, value, hash, current_table, i, node, node_hash)
709
+ node_nesting = nil
710
+ current_table.try_lock_via_hash(i, node, node_hash) do
711
+ node_nesting = 1
712
+ old_value = nil
713
+ found_old_value = false
714
+ while node
715
+ if node.matches?(key, hash) && NULL != (old_value = node.value)
716
+ found_old_value = true
717
+ node.value = value
718
+ break
719
+ end
720
+ last = node
721
+ unless node = node.next
722
+ last.next = Node.new(hash, key, value)
723
+ break
724
+ end
725
+ node_nesting += 1
726
+ end
727
+
728
+ return true, old_value if found_old_value
729
+ increment_size
730
+ true
731
+ end
732
+ ensure
733
+ check_for_resize if node_nesting && (node_nesting > 1 || current_table.size <= 64)
734
+ end
735
+
736
+ def initialize_copy(other)
737
+ super
738
+ @counter = Util::Adder.new
739
+ self.table = nil
740
+ self.size_control = (other_table = other.table) ? other_table.size : DEFAULT_CAPACITY
741
+ self
742
+ end
743
+
744
+ def try_await_lock(current_table, i, node)
745
+ check_for_resize # try resizing if can't get lock
746
+ node.try_await_lock(current_table, i)
747
+ end
748
+
749
+ def key_hash(key)
750
+ key.hash & HASH_BITS
751
+ end
752
+
753
+ # Returns a power of two table size for the given desired capacity.
754
+ def table_size_for(entry_count)
755
+ size = 2
756
+ size <<= 1 while size < entry_count
757
+ size
758
+ end
759
+
760
+ # Initializes table, using the size recorded in +size_control+.
761
+ def initialize_table
762
+ until current_table ||= table
763
+ if (size_ctrl = size_control) == NOW_RESIZING
764
+ Thread.pass # lost initialization race; just spin
765
+ else
766
+ try_in_resize_lock(current_table, size_ctrl) do
767
+ initial_size = size_ctrl > 0 ? size_ctrl : DEFAULT_CAPACITY
768
+ current_table = self.table = Table.new(initial_size)
769
+ initial_size - (initial_size >> 2) # 75% load factor
770
+ end
771
+ end
772
+ end
773
+ current_table
774
+ end
775
+
776
+ # If table is too small and not already resizing, creates next table and
777
+ # transfers bins. Rechecks occupancy after a transfer to see if another
778
+ # resize is already needed because resizings are lagging additions.
779
+ def check_for_resize
780
+ while (current_table = table) && MAX_CAPACITY > (table_size = current_table.size) && NOW_RESIZING != (size_ctrl = size_control) && size_ctrl < @counter.sum
781
+ try_in_resize_lock(current_table, size_ctrl) do
782
+ self.table = rebuild(current_table)
783
+ (table_size << 1) - (table_size >> 1) # 75% load factor
784
+ end
785
+ end
786
+ end
787
+
788
+ def try_in_resize_lock(current_table, size_ctrl)
789
+ if cas_size_control(size_ctrl, NOW_RESIZING)
790
+ begin
791
+ if current_table == table # recheck under lock
792
+ size_ctrl = yield # get new size_control
793
+ end
794
+ ensure
795
+ self.size_control = size_ctrl
796
+ end
797
+ end
798
+ end
799
+
800
+ # Moves and/or copies the nodes in each bin to new table. See above for explanation.
801
+ def rebuild(table)
802
+ old_table_size = table.size
803
+ new_table = table.next_in_size_table
804
+ # puts "#{old_table_size} -> #{new_table.size}"
805
+ forwarder = Node.new(MOVED, new_table, NULL)
806
+ rev_forwarder = nil
807
+ locked_indexes = nil # holds bins to revisit; nil until needed
808
+ locked_arr_idx = 0
809
+ bin = old_table_size - 1
810
+ i = bin
811
+ while true
812
+ if !(node = table.volatile_get(i))
813
+ # 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
814
+ redo unless (bin >= 0 ? table.cas(i, nil, forwarder) : lock_and_clean_up_reverse_forwarders(table, old_table_size, new_table, i, forwarder))
815
+ elsif Node.locked_hash?(node_hash = node.hash)
816
+ locked_indexes ||= Array.new
817
+ if bin < 0 && locked_arr_idx > 0
818
+ locked_arr_idx -= 1
819
+ i, locked_indexes[locked_arr_idx] = locked_indexes[locked_arr_idx], i # swap with another bin
820
+ redo
821
+ end
822
+ if bin < 0 || locked_indexes.size >= TRANSFER_BUFFER_SIZE
823
+ node.try_await_lock(table, i) # no other options -- block
824
+ redo
825
+ end
826
+ rev_forwarder ||= Node.new(MOVED, table, NULL)
827
+ redo unless table.volatile_get(i) == node && node.locked? # recheck before adding to list
828
+ locked_indexes << i
829
+ new_table.volatile_set(i, rev_forwarder)
830
+ new_table.volatile_set(i + old_table_size, rev_forwarder)
831
+ else
832
+ redo unless split_old_bin(table, new_table, i, node, node_hash, forwarder)
833
+ end
834
+
835
+ if bin > 0
836
+ i = (bin -= 1)
837
+ elsif locked_indexes && !locked_indexes.empty?
838
+ bin = -1
839
+ i = locked_indexes.pop
840
+ locked_arr_idx = locked_indexes.size - 1
841
+ else
842
+ return new_table
843
+ end
844
+ end
845
+ end
846
+
847
+ def lock_and_clean_up_reverse_forwarders(old_table, old_table_size, new_table, i, forwarder)
848
+ # transiently use a locked forwarding node
849
+ locked_forwarder = Node.new(moved_locked_hash = MOVED | LOCKED, new_table, NULL)
850
+ if old_table.cas(i, nil, locked_forwarder)
851
+ new_table.volatile_set(i, nil) # kill the potential reverse forwarders
852
+ new_table.volatile_set(i + old_table_size, nil) # kill the potential reverse forwarders
853
+ old_table.volatile_set(i, forwarder)
854
+ locked_forwarder.unlock_via_hash(moved_locked_hash, MOVED)
855
+ true
856
+ end
857
+ end
858
+
859
+ # Splits a normal bin with list headed by e into lo and hi parts; installs in given table.
860
+ def split_old_bin(table, new_table, i, node, node_hash, forwarder)
861
+ table.try_lock_via_hash(i, node, node_hash) do
862
+ split_bin(new_table, i, node, node_hash)
863
+ table.volatile_set(i, forwarder)
864
+ end
865
+ end
866
+
867
+ def split_bin(new_table, i, node, node_hash)
868
+ bit = new_table.size >> 1 # bit to split on
869
+ run_bit = node_hash & bit
870
+ last_run = nil
871
+ low = nil
872
+ high = nil
873
+ current_node = node
874
+ # this optimises for the lowest amount of volatile writes and objects created
875
+ while current_node = current_node.next
876
+ unless (b = current_node.hash & bit) == run_bit
877
+ run_bit = b
878
+ last_run = current_node
879
+ end
880
+ end
881
+ if run_bit == 0
882
+ low = last_run
883
+ else
884
+ high = last_run
885
+ end
886
+ current_node = node
887
+ until current_node == last_run
888
+ pure_hash = current_node.pure_hash
889
+ if (pure_hash & bit) == 0
890
+ low = Node.new(pure_hash, current_node.key, current_node.value, low)
891
+ else
892
+ high = Node.new(pure_hash, current_node.key, current_node.value, high)
893
+ end
894
+ current_node = current_node.next
895
+ end
896
+ new_table.volatile_set(i, low)
897
+ new_table.volatile_set(i + bit, high)
898
+ end
899
+
900
+ def increment_size
901
+ @counter.increment
902
+ end
903
+
904
+ def decrement_size(by = 1)
905
+ @counter.add(-by)
906
+ end
907
+ end
908
+ end