ric 0.12.0 → 0.12.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1206) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +1 -0
  3. data.tar.gz.sig +2 -0
  4. data/Gemfile +0 -1
  5. data/HISTORY.yml +2 -0
  6. data/LICENSE +1 -1
  7. data/Makefile +12 -2
  8. data/Manifest +1189 -4
  9. data/Rakefile +16 -9
  10. data/VERSION +1 -1
  11. data/ric.gemspec +31 -27
  12. data/vendor/bundle/ruby/2.5.0/bin/allison +27 -0
  13. data/vendor/bundle/ruby/2.5.0/bin/rake +27 -0
  14. data/vendor/bundle/ruby/2.5.0/bin/rdoc +27 -0
  15. data/vendor/bundle/ruby/2.5.0/bin/ri +27 -0
  16. data/vendor/bundle/ruby/2.5.0/bin/rubyforge +27 -0
  17. data/vendor/bundle/ruby/2.5.0/cache/activemodel-5.2.3.gem +0 -0
  18. data/vendor/bundle/ruby/2.5.0/cache/activemodel-serializers-xml-1.0.2.gem +0 -0
  19. data/vendor/bundle/ruby/2.5.0/cache/activeresource-5.1.0.gem +0 -0
  20. data/vendor/bundle/ruby/2.5.0/cache/activesupport-5.2.3.gem +0 -0
  21. data/vendor/bundle/ruby/2.5.0/cache/allison-2.0.3.gem +0 -0
  22. data/vendor/bundle/ruby/2.5.0/cache/builder-3.2.3.gem +0 -0
  23. data/vendor/bundle/ruby/2.5.0/cache/concurrent-ruby-1.1.5.gem +0 -0
  24. data/vendor/bundle/ruby/2.5.0/cache/echoe-4.6.6.gem +0 -0
  25. data/vendor/bundle/ruby/2.5.0/cache/i18n-1.6.0.gem +0 -0
  26. data/vendor/bundle/ruby/2.5.0/cache/json_pure-2.2.0.gem +0 -0
  27. data/vendor/bundle/ruby/2.5.0/cache/minitest-5.11.3.gem +0 -0
  28. data/vendor/bundle/ruby/2.5.0/cache/rake-12.3.2.gem +0 -0
  29. data/vendor/bundle/ruby/2.5.0/cache/rdoc-6.1.1.gem +0 -0
  30. data/vendor/bundle/ruby/2.5.0/cache/rubyforge-2.0.4.gem +0 -0
  31. data/vendor/bundle/ruby/2.5.0/cache/thread_safe-0.3.6.gem +0 -0
  32. data/vendor/bundle/ruby/2.5.0/cache/tzinfo-1.2.5.gem +0 -0
  33. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/CHANGELOG.md +114 -0
  34. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/MIT-LICENSE +21 -0
  35. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/README.rdoc +264 -0
  36. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model.rb +77 -0
  37. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/attribute.rb +248 -0
  38. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/attribute/user_provided_default.rb +52 -0
  39. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/attribute_assignment.rb +57 -0
  40. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/attribute_methods.rb +478 -0
  41. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/attribute_mutation_tracker.rb +124 -0
  42. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/attribute_set.rb +114 -0
  43. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/attribute_set/builder.rb +126 -0
  44. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/attribute_set/yaml_encoder.rb +41 -0
  45. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/attributes.rb +111 -0
  46. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/callbacks.rb +153 -0
  47. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/conversion.rb +111 -0
  48. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/dirty.rb +343 -0
  49. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/errors.rb +517 -0
  50. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/forbidden_attributes_protection.rb +31 -0
  51. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/gem_version.rb +17 -0
  52. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/lint.rb +118 -0
  53. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/locale/en.yml +36 -0
  54. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/model.rb +99 -0
  55. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/naming.rb +318 -0
  56. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/railtie.rb +14 -0
  57. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/secure_password.rb +129 -0
  58. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/serialization.rb +192 -0
  59. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/serializers/json.rb +146 -0
  60. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/translation.rb +70 -0
  61. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type.rb +53 -0
  62. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/big_integer.rb +15 -0
  63. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/binary.rb +52 -0
  64. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/boolean.rb +38 -0
  65. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/date.rb +57 -0
  66. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/date_time.rb +51 -0
  67. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/decimal.rb +70 -0
  68. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/float.rb +36 -0
  69. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/helpers.rb +7 -0
  70. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/helpers/accepts_multiparameter_time.rb +41 -0
  71. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/helpers/mutable.rb +20 -0
  72. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/helpers/numeric.rb +37 -0
  73. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/helpers/time_value.rb +68 -0
  74. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/helpers/timezone.rb +19 -0
  75. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/immutable_string.rb +32 -0
  76. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/integer.rb +70 -0
  77. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/registry.rb +70 -0
  78. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/string.rb +26 -0
  79. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/time.rb +51 -0
  80. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/type/value.rb +126 -0
  81. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations.rb +439 -0
  82. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/absence.rb +33 -0
  83. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/acceptance.rb +106 -0
  84. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/callbacks.rb +122 -0
  85. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/clusivity.rb +54 -0
  86. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/confirmation.rb +80 -0
  87. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/exclusion.rb +49 -0
  88. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/format.rb +114 -0
  89. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/helper_methods.rb +15 -0
  90. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/inclusion.rb +47 -0
  91. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/length.rb +129 -0
  92. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/numericality.rb +189 -0
  93. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/presence.rb +39 -0
  94. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/validates.rb +174 -0
  95. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validations/with.rb +147 -0
  96. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/validator.rb +183 -0
  97. data/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.3/lib/active_model/version.rb +10 -0
  98. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/CONTRIBUTING.md +99 -0
  99. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/Gemfile +4 -0
  100. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/MIT-LICENSE +21 -0
  101. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/README.md +89 -0
  102. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/Rakefile +10 -0
  103. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/activemodel-serializers-xml.gemspec +25 -0
  104. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/lib/active_model/serializers.rb +23 -0
  105. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/lib/active_model/serializers/version.rb +5 -0
  106. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/lib/active_model/serializers/xml.rb +238 -0
  107. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/lib/active_record/serializers/xml_serializer.rb +194 -0
  108. data/vendor/bundle/ruby/2.5.0/gems/activemodel-serializers-xml-1.0.2/lib/activemodel-serializers-xml.rb +1 -0
  109. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/MIT-LICENSE +20 -0
  110. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/README.rdoc +285 -0
  111. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource.rb +46 -0
  112. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/active_job_serializer.rb +26 -0
  113. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/associations.rb +175 -0
  114. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/associations/builder/association.rb +33 -0
  115. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/associations/builder/belongs_to.rb +16 -0
  116. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/associations/builder/has_many.rb +14 -0
  117. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/associations/builder/has_one.rb +14 -0
  118. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/base.rb +1695 -0
  119. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/callbacks.rb +22 -0
  120. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/collection.rb +94 -0
  121. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/connection.rb +294 -0
  122. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/custom_methods.rb +129 -0
  123. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/exceptions.rb +84 -0
  124. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/formats.rb +24 -0
  125. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/formats/json_format.rb +28 -0
  126. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/formats/xml_format.rb +27 -0
  127. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/http_mock.rb +373 -0
  128. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/log_subscriber.rb +26 -0
  129. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/observing.rb +0 -0
  130. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/railtie.rb +25 -0
  131. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/reflection.rb +78 -0
  132. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/schema.rb +59 -0
  133. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/singleton.rb +113 -0
  134. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/threadsafe_attributes.rb +66 -0
  135. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/validations.rb +176 -0
  136. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/active_resource/version.rb +12 -0
  137. data/vendor/bundle/ruby/2.5.0/gems/activeresource-5.1.0/lib/activeresource.rb +3 -0
  138. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/CHANGELOG.md +602 -0
  139. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/MIT-LICENSE +20 -0
  140. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/README.rdoc +39 -0
  141. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support.rb +95 -0
  142. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/all.rb +5 -0
  143. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/array_inquirer.rb +48 -0
  144. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/backtrace_cleaner.rb +105 -0
  145. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/benchmarkable.rb +51 -0
  146. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/builder.rb +8 -0
  147. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache.rb +808 -0
  148. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/file_store.rb +196 -0
  149. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/mem_cache_store.rb +207 -0
  150. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/memory_store.rb +169 -0
  151. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/null_store.rb +43 -0
  152. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/redis_cache_store.rb +461 -0
  153. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/strategy/local_cache.rb +194 -0
  154. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/strategy/local_cache_middleware.rb +45 -0
  155. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/callbacks.rb +845 -0
  156. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/concern.rb +148 -0
  157. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb +17 -0
  158. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/concurrency/share_lock.rb +227 -0
  159. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/configurable.rb +150 -0
  160. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext.rb +5 -0
  161. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/array.rb +9 -0
  162. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/array/access.rb +92 -0
  163. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/array/conversions.rb +213 -0
  164. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/array/extract_options.rb +31 -0
  165. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/array/grouping.rb +109 -0
  166. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/array/inquiry.rb +19 -0
  167. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/array/prepend_and_append.rb +9 -0
  168. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/array/wrap.rb +48 -0
  169. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/benchmark.rb +16 -0
  170. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/big_decimal.rb +3 -0
  171. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/big_decimal/conversions.rb +14 -0
  172. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/class.rb +4 -0
  173. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/class/attribute.rb +146 -0
  174. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/class/attribute_accessors.rb +6 -0
  175. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/class/subclasses.rb +54 -0
  176. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date.rb +7 -0
  177. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date/acts_like.rb +10 -0
  178. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date/blank.rb +14 -0
  179. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date/calculations.rb +145 -0
  180. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date/conversions.rb +96 -0
  181. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date/zones.rb +8 -0
  182. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date_and_time/calculations.rb +374 -0
  183. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date_and_time/compatibility.rb +16 -0
  184. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date_and_time/zones.rb +41 -0
  185. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date_time.rb +7 -0
  186. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date_time/acts_like.rb +16 -0
  187. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date_time/blank.rb +14 -0
  188. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date_time/calculations.rb +211 -0
  189. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date_time/compatibility.rb +18 -0
  190. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/date_time/conversions.rb +107 -0
  191. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/digest/uuid.rb +53 -0
  192. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/enumerable.rb +164 -0
  193. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/file.rb +3 -0
  194. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/file/atomic.rb +70 -0
  195. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash.rb +11 -0
  196. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash/compact.rb +29 -0
  197. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash/conversions.rb +263 -0
  198. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash/deep_merge.rb +34 -0
  199. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash/except.rb +24 -0
  200. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash/indifferent_access.rb +24 -0
  201. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash/keys.rb +172 -0
  202. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash/reverse_merge.rb +25 -0
  203. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash/slice.rb +48 -0
  204. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/hash/transform_values.rb +32 -0
  205. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/integer.rb +5 -0
  206. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/integer/inflections.rb +31 -0
  207. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/integer/multiple.rb +12 -0
  208. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/integer/time.rb +22 -0
  209. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/kernel.rb +6 -0
  210. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/kernel/agnostics.rb +13 -0
  211. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/kernel/concern.rb +14 -0
  212. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/kernel/reporting.rb +45 -0
  213. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/kernel/singleton_class.rb +8 -0
  214. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/load_error.rb +9 -0
  215. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/marshal.rb +24 -0
  216. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module.rb +14 -0
  217. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/aliasing.rb +31 -0
  218. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/anonymous.rb +30 -0
  219. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/attr_internal.rb +38 -0
  220. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/attribute_accessors.rb +215 -0
  221. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +150 -0
  222. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/concerning.rb +134 -0
  223. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/delegation.rb +287 -0
  224. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/deprecation.rb +25 -0
  225. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/introspection.rb +62 -0
  226. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/reachable.rb +11 -0
  227. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/redefine_method.rb +49 -0
  228. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/module/remove_method.rb +17 -0
  229. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/name_error.rb +38 -0
  230. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/numeric.rb +6 -0
  231. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/numeric/bytes.rb +66 -0
  232. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/numeric/conversions.rb +140 -0
  233. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/numeric/inquiry.rb +28 -0
  234. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/numeric/time.rb +66 -0
  235. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object.rb +16 -0
  236. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/acts_like.rb +21 -0
  237. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/blank.rb +156 -0
  238. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/conversions.rb +6 -0
  239. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/deep_dup.rb +55 -0
  240. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/duplicable.rb +156 -0
  241. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/inclusion.rb +29 -0
  242. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/instance_variables.rb +30 -0
  243. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/json.rb +227 -0
  244. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/to_param.rb +3 -0
  245. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/to_query.rb +89 -0
  246. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/try.rb +148 -0
  247. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/object/with_options.rb +82 -0
  248. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/range.rb +7 -0
  249. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/range/compare_range.rb +61 -0
  250. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/range/conversions.rb +39 -0
  251. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/range/each.rb +25 -0
  252. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/range/include_range.rb +3 -0
  253. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/range/include_time_with_zone.rb +23 -0
  254. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/range/overlaps.rb +10 -0
  255. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/regexp.rb +11 -0
  256. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/securerandom.rb +25 -0
  257. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string.rb +15 -0
  258. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/access.rb +106 -0
  259. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/behavior.rb +8 -0
  260. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/conversions.rb +59 -0
  261. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/exclude.rb +13 -0
  262. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/filters.rb +104 -0
  263. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/indent.rb +45 -0
  264. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/inflections.rb +254 -0
  265. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/inquiry.rb +15 -0
  266. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/multibyte.rb +57 -0
  267. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/output_safety.rb +258 -0
  268. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/starts_ends_with.rb +6 -0
  269. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/strip.rb +25 -0
  270. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/zones.rb +16 -0
  271. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/time.rb +7 -0
  272. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/time/acts_like.rb +10 -0
  273. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/time/calculations.rb +315 -0
  274. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/time/compatibility.rb +16 -0
  275. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/time/conversions.rb +72 -0
  276. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/time/zones.rb +113 -0
  277. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/uri.rb +24 -0
  278. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/current_attributes.rb +195 -0
  279. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/dependencies.rb +753 -0
  280. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/dependencies/autoload.rb +79 -0
  281. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/dependencies/interlock.rb +57 -0
  282. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/deprecation.rb +46 -0
  283. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/deprecation/behaviors.rb +109 -0
  284. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/deprecation/constant_accessor.rb +52 -0
  285. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/deprecation/instance_delegator.rb +39 -0
  286. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/deprecation/method_wrappers.rb +90 -0
  287. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/deprecation/proxy_wrappers.rb +154 -0
  288. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/deprecation/reporting.rb +114 -0
  289. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/descendants_tracker.rb +62 -0
  290. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/digest.rb +20 -0
  291. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/duration.rb +432 -0
  292. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/duration/iso8601_parser.rb +125 -0
  293. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/duration/iso8601_serializer.rb +55 -0
  294. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/encrypted_configuration.rb +49 -0
  295. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/encrypted_file.rb +99 -0
  296. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/evented_file_update_checker.rb +205 -0
  297. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/execution_wrapper.rb +128 -0
  298. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/executor.rb +8 -0
  299. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/file_update_checker.rb +163 -0
  300. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/gem_version.rb +17 -0
  301. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/gzip.rb +38 -0
  302. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/hash_with_indifferent_access.rb +395 -0
  303. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/i18n.rb +15 -0
  304. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/i18n_railtie.rb +118 -0
  305. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/inflections.rb +72 -0
  306. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/inflector.rb +9 -0
  307. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/inflector/inflections.rb +260 -0
  308. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb +410 -0
  309. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/inflector/transliterate.rb +118 -0
  310. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/json.rb +4 -0
  311. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/json/decoding.rb +76 -0
  312. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/json/encoding.rb +130 -0
  313. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/key_generator.rb +73 -0
  314. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/lazy_load_hooks.rb +78 -0
  315. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/locale/en.yml +135 -0
  316. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/log_subscriber.rb +112 -0
  317. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/log_subscriber/test_helper.rb +106 -0
  318. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/logger.rb +108 -0
  319. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/logger_silence.rb +29 -0
  320. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/logger_thread_safe_level.rb +33 -0
  321. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/message_encryptor.rb +229 -0
  322. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/message_verifier.rb +205 -0
  323. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/messages/metadata.rb +71 -0
  324. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/messages/rotation_configuration.rb +22 -0
  325. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/messages/rotator.rb +56 -0
  326. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/multibyte.rb +23 -0
  327. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/multibyte/chars.rb +235 -0
  328. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/multibyte/unicode.rb +394 -0
  329. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/notifications.rb +216 -0
  330. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/notifications/fanout.rb +159 -0
  331. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/notifications/instrumenter.rb +93 -0
  332. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper.rb +371 -0
  333. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper/number_converter.rb +184 -0
  334. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper/number_to_currency_converter.rb +46 -0
  335. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper/number_to_delimited_converter.rb +29 -0
  336. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper/number_to_human_converter.rb +68 -0
  337. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper/number_to_human_size_converter.rb +59 -0
  338. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper/number_to_percentage_converter.rb +14 -0
  339. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper/number_to_phone_converter.rb +58 -0
  340. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper/number_to_rounded_converter.rb +54 -0
  341. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/number_helper/rounding_helper.rb +66 -0
  342. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/option_merger.rb +27 -0
  343. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/ordered_hash.rb +50 -0
  344. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/ordered_options.rb +85 -0
  345. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/per_thread_registry.rb +60 -0
  346. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/proxy_object.rb +15 -0
  347. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/rails.rb +35 -0
  348. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/railtie.rb +80 -0
  349. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/reloader.rb +131 -0
  350. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/rescuable.rb +174 -0
  351. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/security_utils.rb +31 -0
  352. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/string_inquirer.rb +34 -0
  353. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/subscriber.rb +130 -0
  354. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb +79 -0
  355. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/test_case.rb +72 -0
  356. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/assertions.rb +214 -0
  357. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/autorun.rb +7 -0
  358. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/constant_lookup.rb +51 -0
  359. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/declarative.rb +28 -0
  360. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/deprecation.rb +39 -0
  361. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/file_fixtures.rb +36 -0
  362. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/isolation.rb +110 -0
  363. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/method_call_assertions.rb +43 -0
  364. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/setup_and_teardown.rb +55 -0
  365. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/stream.rb +44 -0
  366. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/tagged_logging.rb +27 -0
  367. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/testing/time_helpers.rb +200 -0
  368. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/time.rb +20 -0
  369. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/time_with_zone.rb +551 -0
  370. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/values/time_zone.rb +565 -0
  371. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/values/unicode_tables.dat +0 -0
  372. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/version.rb +10 -0
  373. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/xml_mini.rb +209 -0
  374. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/xml_mini/jdom.rb +183 -0
  375. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/xml_mini/libxml.rb +80 -0
  376. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/xml_mini/libxmlsax.rb +83 -0
  377. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/xml_mini/nokogiri.rb +83 -0
  378. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/xml_mini/nokogirisax.rb +86 -0
  379. data/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/xml_mini/rexml.rb +130 -0
  380. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/CHANGELOG +18 -0
  381. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/LICENSE +184 -0
  382. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/Manifest +24 -0
  383. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/README +67 -0
  384. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/allison.gemspec +48 -0
  385. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/bin/allison +9 -0
  386. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/BODY +570 -0
  387. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/CLASS_INDEX +4 -0
  388. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/CLASS_PAGE +1 -0
  389. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/FILE_INDEX +4 -0
  390. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/FILE_PAGE +1 -0
  391. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/FONTS +1 -0
  392. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/FR_INDEX_BODY +1 -0
  393. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/INDEX +1 -0
  394. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/JAVASCRIPT +316 -0
  395. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/METHOD_INDEX +4 -0
  396. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/METHOD_LIST +1 -0
  397. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/SRC_PAGE +1 -0
  398. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/cache/STYLE +320 -0
  399. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/contrib/Rakefile +147 -0
  400. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/contrib/rdoc_patch.rb +252 -0
  401. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/contrib/rdoc_patch_test.rb +95 -0
  402. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/lib/allison.css +314 -0
  403. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/lib/allison.js +316 -0
  404. data/vendor/bundle/ruby/2.5.0/gems/allison-2.0.3/lib/allison.rb +276 -0
  405. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/CHANGES +107 -0
  406. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/MIT-LICENSE +20 -0
  407. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/README.md +258 -0
  408. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/Rakefile +195 -0
  409. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/doc/jamis.rb +591 -0
  410. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/doc/releases/builder-1.2.4.rdoc +31 -0
  411. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/doc/releases/builder-2.0.0.rdoc +46 -0
  412. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/doc/releases/builder-2.1.1.rdoc +58 -0
  413. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/lib/blankslate.rb +137 -0
  414. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/lib/builder.rb +13 -0
  415. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/lib/builder/blankslate.rb +23 -0
  416. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/lib/builder/version.rb +8 -0
  417. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/lib/builder/xchar.rb +197 -0
  418. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/lib/builder/xmlbase.rb +199 -0
  419. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/lib/builder/xmlevents.rb +63 -0
  420. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/lib/builder/xmlmarkup.rb +339 -0
  421. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/rakelib/publish.rake +20 -0
  422. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/rakelib/tags.rake +62 -0
  423. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/rakelib/testing.rake +7 -0
  424. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/test/helper.rb +12 -0
  425. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/test/performance.rb +41 -0
  426. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/test/preload.rb +39 -0
  427. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/test/test_blankslate.rb +213 -0
  428. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/test/test_eventbuilder.rb +150 -0
  429. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/test/test_markupbuilder.rb +611 -0
  430. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/test/test_method_caching.rb +62 -0
  431. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/test/test_namecollision.rb +39 -0
  432. data/vendor/bundle/ruby/2.5.0/gems/builder-3.2.3/test/test_xchar.rb +78 -0
  433. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/CHANGELOG.md +478 -0
  434. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/Gemfile +41 -0
  435. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/LICENSE.md +23 -0
  436. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/README.md +381 -0
  437. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/Rakefile +327 -0
  438. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/ConcurrentRubyService.java +17 -0
  439. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/AtomicReferenceLibrary.java +175 -0
  440. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/JRubyMapBackendLibrary.java +248 -0
  441. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicBooleanLibrary.java +93 -0
  442. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicFixnumLibrary.java +113 -0
  443. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaSemaphoreLibrary.java +159 -0
  444. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/SynchronizationLibrary.java +307 -0
  445. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMap.java +31 -0
  446. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMapV8.java +3863 -0
  447. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/LongAdder.java +203 -0
  448. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/Striped64.java +342 -0
  449. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/ConcurrentHashMapV8.java +3800 -0
  450. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/LongAdder.java +204 -0
  451. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/Striped64.java +291 -0
  452. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166y/ThreadLocalRandom.java +199 -0
  453. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent-ruby.rb +1 -0
  454. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent.rb +134 -0
  455. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/agent.rb +587 -0
  456. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/array.rb +66 -0
  457. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/async.rb +459 -0
  458. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atom.rb +222 -0
  459. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/abstract_thread_local_var.rb +66 -0
  460. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/atomic_boolean.rb +126 -0
  461. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/atomic_fixnum.rb +143 -0
  462. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/atomic_markable_reference.rb +164 -0
  463. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/atomic_reference.rb +204 -0
  464. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/count_down_latch.rb +100 -0
  465. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/cyclic_barrier.rb +128 -0
  466. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/event.rb +109 -0
  467. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/java_count_down_latch.rb +42 -0
  468. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/java_thread_local_var.rb +37 -0
  469. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/mutex_atomic_boolean.rb +62 -0
  470. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/mutex_atomic_fixnum.rb +75 -0
  471. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/mutex_count_down_latch.rb +44 -0
  472. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/mutex_semaphore.rb +115 -0
  473. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/read_write_lock.rb +254 -0
  474. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/reentrant_read_write_lock.rb +379 -0
  475. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/ruby_thread_local_var.rb +161 -0
  476. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/semaphore.rb +145 -0
  477. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/thread_local_var.rb +104 -0
  478. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic_reference/mutex_atomic.rb +56 -0
  479. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic_reference/numeric_cas_wrapper.rb +28 -0
  480. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/atomics.rb +10 -0
  481. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/copy_on_notify_observer_set.rb +107 -0
  482. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/copy_on_write_observer_set.rb +111 -0
  483. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/java_non_concurrent_priority_queue.rb +84 -0
  484. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/lock_free_stack.rb +158 -0
  485. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/map/atomic_reference_map_backend.rb +927 -0
  486. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/map/mri_map_backend.rb +66 -0
  487. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/map/non_concurrent_map_backend.rb +140 -0
  488. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/map/synchronized_map_backend.rb +82 -0
  489. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/non_concurrent_priority_queue.rb +143 -0
  490. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb +150 -0
  491. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/deprecation.rb +34 -0
  492. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/dereferenceable.rb +73 -0
  493. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/logging.rb +32 -0
  494. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/obligation.rb +220 -0
  495. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/concern/observable.rb +110 -0
  496. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/concurrent_ruby.jar +0 -0
  497. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/configuration.rb +184 -0
  498. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/constants.rb +8 -0
  499. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/dataflow.rb +81 -0
  500. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/delay.rb +199 -0
  501. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/errors.rb +69 -0
  502. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/exchanger.rb +352 -0
  503. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/abstract_executor_service.rb +134 -0
  504. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/cached_thread_pool.rb +62 -0
  505. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/executor_service.rb +185 -0
  506. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/fixed_thread_pool.rb +206 -0
  507. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/immediate_executor.rb +66 -0
  508. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/indirect_immediate_executor.rb +44 -0
  509. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/java_executor_service.rb +91 -0
  510. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/java_single_thread_executor.rb +29 -0
  511. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/java_thread_pool_executor.rb +123 -0
  512. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_executor_service.rb +78 -0
  513. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_single_thread_executor.rb +22 -0
  514. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb +362 -0
  515. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/safe_task_executor.rb +35 -0
  516. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/serial_executor_service.rb +34 -0
  517. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/serialized_execution.rb +107 -0
  518. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/serialized_execution_delegator.rb +28 -0
  519. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/simple_executor_service.rb +100 -0
  520. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/single_thread_executor.rb +56 -0
  521. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/thread_pool_executor.rb +87 -0
  522. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/timer_set.rb +173 -0
  523. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executors.rb +20 -0
  524. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/future.rb +141 -0
  525. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/hash.rb +59 -0
  526. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/immutable_struct.rb +93 -0
  527. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/ivar.rb +207 -0
  528. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/map.rb +337 -0
  529. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/maybe.rb +229 -0
  530. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/mutable_struct.rb +229 -0
  531. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/mvar.rb +242 -0
  532. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/options.rb +42 -0
  533. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/promise.rb +579 -0
  534. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/promises.rb +2167 -0
  535. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/re_include.rb +58 -0
  536. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/scheduled_task.rb +318 -0
  537. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/set.rb +66 -0
  538. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/settable_struct.rb +129 -0
  539. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization.rb +30 -0
  540. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/abstract_lockable_object.rb +98 -0
  541. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/abstract_object.rb +24 -0
  542. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/abstract_struct.rb +160 -0
  543. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/condition.rb +60 -0
  544. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/jruby_lockable_object.rb +13 -0
  545. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/jruby_object.rb +45 -0
  546. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/lock.rb +36 -0
  547. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/lockable_object.rb +74 -0
  548. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mri_object.rb +44 -0
  549. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb +76 -0
  550. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/object.rb +183 -0
  551. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/rbx_lockable_object.rb +65 -0
  552. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/rbx_object.rb +49 -0
  553. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/truffleruby_object.rb +47 -0
  554. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/volatile.rb +36 -0
  555. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/synchronized_delegator.rb +50 -0
  556. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util.rb +16 -0
  557. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/adder.rb +74 -0
  558. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/cheap_lockable.rb +118 -0
  559. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/data_structures.rb +63 -0
  560. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/power_of_two_tuple.rb +38 -0
  561. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/striped64.rb +246 -0
  562. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/volatile.rb +75 -0
  563. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/thread_safe/util/xor_shift_random.rb +50 -0
  564. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/timer_task.rb +334 -0
  565. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/tuple.rb +86 -0
  566. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/tvar.rb +258 -0
  567. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/at_exit.rb +97 -0
  568. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/engine.rb +56 -0
  569. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/monotonic_time.rb +58 -0
  570. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/native_extension_loader.rb +79 -0
  571. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/native_integer.rb +53 -0
  572. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/processor_counter.rb +158 -0
  573. data/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/version.rb +3 -0
  574. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/CHANGELOG +113 -0
  575. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/LICENSE +184 -0
  576. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/MIT-LICENSE +21 -0
  577. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/Manifest +19 -0
  578. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/README.rdoc +97 -0
  579. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/Rakefile +15 -0
  580. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/echoe.gemspec +45 -0
  581. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/echoe.pem +21 -0
  582. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/lib/echoe.rb +793 -0
  583. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/lib/echoe/extensions.rb +61 -0
  584. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/lib/echoe/platform.rb +37 -0
  585. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/lib/echoe/rubygems.rb +41 -0
  586. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/vendor/rake/MIT-LICENSE +21 -0
  587. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/vendor/rake/lib/rake/contrib/compositepublisher.rb +24 -0
  588. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/vendor/rake/lib/rake/contrib/ftptools.rb +153 -0
  589. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/vendor/rake/lib/rake/contrib/publisher.rb +75 -0
  590. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/vendor/rake/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  591. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/vendor/rake/lib/rake/contrib/sshpublisher.rb +43 -0
  592. data/vendor/bundle/ruby/2.5.0/gems/echoe-4.6.6/vendor/rake/lib/rake/contrib/sys.rb +209 -0
  593. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/MIT-LICENSE +20 -0
  594. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/README.md +125 -0
  595. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n.rb +398 -0
  596. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend.rb +21 -0
  597. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/base.rb +284 -0
  598. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/cache.rb +113 -0
  599. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/cache_file.rb +36 -0
  600. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/cascade.rb +56 -0
  601. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/chain.rb +127 -0
  602. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/fallbacks.rb +84 -0
  603. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/flatten.rb +115 -0
  604. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/gettext.rb +85 -0
  605. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/interpolation_compiler.rb +123 -0
  606. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/key_value.rb +206 -0
  607. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/memoize.rb +54 -0
  608. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/metadata.rb +71 -0
  609. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/pluralization.rb +55 -0
  610. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/simple.rb +111 -0
  611. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/backend/transliterator.rb +108 -0
  612. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/config.rb +165 -0
  613. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/core_ext/hash.rb +47 -0
  614. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/exceptions.rb +111 -0
  615. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/gettext.rb +28 -0
  616. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/gettext/helpers.rb +75 -0
  617. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/gettext/po_parser.rb +329 -0
  618. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/interpolate/ruby.rb +39 -0
  619. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/locale.rb +8 -0
  620. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/locale/fallbacks.rb +96 -0
  621. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/locale/tag.rb +28 -0
  622. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/locale/tag/parents.rb +22 -0
  623. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/locale/tag/rfc4646.rb +74 -0
  624. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/locale/tag/simple.rb +39 -0
  625. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/middleware.rb +17 -0
  626. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests.rb +14 -0
  627. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/basics.rb +60 -0
  628. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/defaults.rb +52 -0
  629. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/interpolation.rb +159 -0
  630. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/link.rb +56 -0
  631. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/localization.rb +19 -0
  632. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/localization/date.rb +117 -0
  633. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/localization/date_time.rb +103 -0
  634. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/localization/procs.rb +116 -0
  635. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/localization/time.rb +103 -0
  636. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/lookup.rb +81 -0
  637. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/pluralization.rb +35 -0
  638. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/tests/procs.rb +55 -0
  639. data/vendor/bundle/ruby/2.5.0/gems/i18n-1.6.0/lib/i18n/version.rb +5 -0
  640. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/CHANGES.md +391 -0
  641. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/Gemfile +14 -0
  642. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/README-json-jruby.md +33 -0
  643. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/README.md +409 -0
  644. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/Rakefile +408 -0
  645. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/VERSION +1 -0
  646. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/fbuffer/fbuffer.h +187 -0
  647. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/generator/depend +1 -0
  648. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/generator/extconf.rb +4 -0
  649. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/generator/generator.c +1444 -0
  650. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/generator/generator.h +171 -0
  651. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/parser/depend +1 -0
  652. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/parser/extconf.rb +6 -0
  653. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/parser/parser.c +2131 -0
  654. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/parser/parser.h +91 -0
  655. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/ext/parser/parser.rl +891 -0
  656. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/ext/json/extconf.rb +2 -0
  657. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/install.rb +23 -0
  658. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/ByteListTranscoder.java +166 -0
  659. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/Generator.java +443 -0
  660. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/GeneratorMethods.java +231 -0
  661. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/GeneratorService.java +42 -0
  662. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/GeneratorState.java +490 -0
  663. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/OptionsReader.java +113 -0
  664. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/Parser.java +2362 -0
  665. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/Parser.rl +893 -0
  666. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/ParserService.java +34 -0
  667. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/RuntimeInfo.java +116 -0
  668. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/StringDecoder.java +166 -0
  669. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/StringEncoder.java +111 -0
  670. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/java/src/json/ext/Utils.java +88 -0
  671. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/json-java.gemspec +38 -0
  672. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/json.gemspec +0 -0
  673. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/json_pure.gemspec +38 -0
  674. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json.rb +63 -0
  675. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/bigdecimal.rb +29 -0
  676. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/complex.rb +29 -0
  677. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/core.rb +12 -0
  678. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/date.rb +34 -0
  679. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/date_time.rb +50 -0
  680. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/exception.rb +31 -0
  681. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/ostruct.rb +31 -0
  682. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/range.rb +29 -0
  683. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/rational.rb +28 -0
  684. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/regexp.rb +30 -0
  685. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/set.rb +29 -0
  686. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/struct.rb +30 -0
  687. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/symbol.rb +25 -0
  688. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/add/time.rb +38 -0
  689. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/common.rb +456 -0
  690. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/ext.rb +15 -0
  691. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/generic_object.rb +71 -0
  692. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/pure.rb +15 -0
  693. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/pure/generator.rb +458 -0
  694. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/pure/parser.rb +311 -0
  695. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/lib/json/version.rb +9 -0
  696. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/references/rfc7159.txt +899 -0
  697. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail10.json +1 -0
  698. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail11.json +1 -0
  699. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail12.json +1 -0
  700. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail13.json +1 -0
  701. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail14.json +1 -0
  702. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail18.json +1 -0
  703. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail19.json +1 -0
  704. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail2.json +1 -0
  705. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail20.json +1 -0
  706. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail21.json +1 -0
  707. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail22.json +1 -0
  708. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail23.json +1 -0
  709. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail24.json +1 -0
  710. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail25.json +1 -0
  711. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail27.json +2 -0
  712. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail28.json +2 -0
  713. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail3.json +1 -0
  714. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail4.json +1 -0
  715. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail5.json +1 -0
  716. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail6.json +1 -0
  717. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail7.json +1 -0
  718. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail8.json +1 -0
  719. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/fail9.json +1 -0
  720. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/obsolete_fail1.json +1 -0
  721. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/pass1.json +56 -0
  722. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/pass15.json +1 -0
  723. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/pass16.json +1 -0
  724. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/pass17.json +1 -0
  725. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/pass2.json +1 -0
  726. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/pass26.json +1 -0
  727. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/fixtures/pass3.json +6 -0
  728. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/json_addition_test.rb +203 -0
  729. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/json_common_interface_test.rb +126 -0
  730. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/json_encoding_test.rb +107 -0
  731. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/json_ext_parser_test.rb +15 -0
  732. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/json_fixtures_test.rb +32 -0
  733. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/json_generator_test.rb +377 -0
  734. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/json_generic_object_test.rb +82 -0
  735. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/json_parser_test.rb +472 -0
  736. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/json_string_matching_test.rb +38 -0
  737. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tests/test_helper.rb +17 -0
  738. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tools/diff.sh +18 -0
  739. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tools/fuzz.rb +131 -0
  740. data/vendor/bundle/ruby/2.5.0/gems/json_pure-2.2.0/tools/server.rb +62 -0
  741. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/History.rdoc +1310 -0
  742. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/Manifest.txt +26 -0
  743. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/README.rdoc +746 -0
  744. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/Rakefile +86 -0
  745. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/design_rationale.rb +52 -0
  746. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/hoe/minitest.rb +32 -0
  747. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest.rb +987 -0
  748. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/assertions.rb +693 -0
  749. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/autorun.rb +13 -0
  750. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/benchmark.rb +455 -0
  751. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/expectations.rb +284 -0
  752. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/hell.rb +11 -0
  753. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/mock.rb +240 -0
  754. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/parallel.rb +70 -0
  755. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/pride.rb +4 -0
  756. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/pride_plugin.rb +142 -0
  757. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/spec.rb +331 -0
  758. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/test.rb +220 -0
  759. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib/minitest/unit.rb +45 -0
  760. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/test/minitest/metametameta.rb +102 -0
  761. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/test/minitest/test_minitest_benchmark.rb +137 -0
  762. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/test/minitest/test_minitest_mock.rb +874 -0
  763. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/test/minitest/test_minitest_reporter.rb +299 -0
  764. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/test/minitest/test_minitest_spec.rb +987 -0
  765. data/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/test/minitest/test_minitest_test.rb +2142 -0
  766. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/CONTRIBUTING.rdoc +43 -0
  767. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/Gemfile +3 -0
  768. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/History.rdoc +2333 -0
  769. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/MIT-LICENSE +21 -0
  770. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/README.rdoc +156 -0
  771. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/Rakefile +41 -0
  772. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/bin/bundle +105 -0
  773. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/bin/console +7 -0
  774. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/bin/rake +29 -0
  775. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/bin/rdoc +29 -0
  776. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/bin/rubocop +29 -0
  777. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/bin/setup +6 -0
  778. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/command_line_usage.rdoc +158 -0
  779. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/example/Rakefile1 +38 -0
  780. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/example/Rakefile2 +35 -0
  781. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/example/a.c +6 -0
  782. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/example/b.c +6 -0
  783. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/example/main.c +11 -0
  784. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/glossary.rdoc +42 -0
  785. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/jamis.rb +592 -0
  786. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/proto_rake.rdoc +127 -0
  787. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/rake.1 +156 -0
  788. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/rakefile.rdoc +622 -0
  789. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/doc/rational.rdoc +151 -0
  790. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/exe/rake +27 -0
  791. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake.rb +71 -0
  792. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/application.rb +824 -0
  793. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/backtrace.rb +24 -0
  794. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/clean.rb +78 -0
  795. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/cloneable.rb +17 -0
  796. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/cpu_counter.rb +107 -0
  797. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/default_loader.rb +15 -0
  798. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/dsl_definition.rb +195 -0
  799. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/early_time.rb +22 -0
  800. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/ext/core.rb +26 -0
  801. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/ext/string.rb +176 -0
  802. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/file_creation_task.rb +25 -0
  803. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/file_list.rb +435 -0
  804. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/file_task.rb +54 -0
  805. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/file_utils.rb +137 -0
  806. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/file_utils_ext.rb +145 -0
  807. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/invocation_chain.rb +57 -0
  808. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/invocation_exception_mixin.rb +17 -0
  809. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/late_time.rb +18 -0
  810. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/linked_list.rb +112 -0
  811. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/loaders/makefile.rb +54 -0
  812. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/multi_task.rb +14 -0
  813. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/name_space.rb +38 -0
  814. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/packagetask.rb +207 -0
  815. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/phony.rb +16 -0
  816. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/private_reader.rb +21 -0
  817. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/promise.rb +100 -0
  818. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/pseudo_status.rb +30 -0
  819. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/rake_module.rb +67 -0
  820. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/rake_test_loader.rb +27 -0
  821. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  822. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/scope.rb +43 -0
  823. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/task.rb +413 -0
  824. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/task_argument_error.rb +8 -0
  825. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/task_arguments.rb +109 -0
  826. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/task_manager.rb +323 -0
  827. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/tasklib.rb +12 -0
  828. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/testtask.rb +224 -0
  829. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/thread_history_display.rb +49 -0
  830. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/thread_pool.rb +163 -0
  831. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/trace_output.rb +23 -0
  832. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/version.rb +10 -0
  833. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/win32.rb +51 -0
  834. data/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/rake.gemspec +42 -0
  835. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/CONTRIBUTING.rdoc +220 -0
  836. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/CVE-2013-0256.rdoc +49 -0
  837. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/ExampleMarkdown.md +37 -0
  838. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/ExampleRDoc.rdoc +208 -0
  839. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/Gemfile +3 -0
  840. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/History.rdoc +1666 -0
  841. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/LEGAL.rdoc +50 -0
  842. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/LICENSE.rdoc +57 -0
  843. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/README.rdoc +130 -0
  844. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/RI.rdoc +57 -0
  845. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/Rakefile +91 -0
  846. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/TODO.rdoc +59 -0
  847. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/appveyor.yml +36 -0
  848. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/bin/console +7 -0
  849. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/bin/setup +6 -0
  850. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/exe/rdoc +44 -0
  851. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/exe/ri +12 -0
  852. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc.rb +180 -0
  853. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/alias.rb +112 -0
  854. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/anon_class.rb +11 -0
  855. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/any_method.rb +316 -0
  856. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/attr.rb +176 -0
  857. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/class_module.rb +802 -0
  858. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/code_object.rb +421 -0
  859. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/code_objects.rb +6 -0
  860. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/comment.rb +239 -0
  861. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/constant.rb +187 -0
  862. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/context.rb +1258 -0
  863. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/context/section.rb +245 -0
  864. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/cross_reference.rb +202 -0
  865. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/encoding.rb +136 -0
  866. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/erb_partial.rb +19 -0
  867. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/erbio.rb +42 -0
  868. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/extend.rb +10 -0
  869. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator.rb +51 -0
  870. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/darkfish.rb +790 -0
  871. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/json_index.rb +300 -0
  872. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/markup.rb +160 -0
  873. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/pot.rb +98 -0
  874. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/pot/message_extractor.rb +68 -0
  875. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/pot/po.rb +84 -0
  876. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/pot/po_entry.rb +141 -0
  877. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/ri.rb +31 -0
  878. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  879. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_head.rhtml +20 -0
  880. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +19 -0
  881. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +9 -0
  882. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  883. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +9 -0
  884. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  885. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  886. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +12 -0
  887. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  888. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +12 -0
  889. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +11 -0
  890. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  891. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  892. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +18 -0
  893. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/class.rhtml +172 -0
  894. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  895. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/css/rdoc.css +590 -0
  896. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  897. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  898. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  899. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  900. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  901. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  902. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/add.png +0 -0
  903. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  904. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/brick.png +0 -0
  905. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/brick_link.png +0 -0
  906. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/bug.png +0 -0
  907. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/bullet_black.png +0 -0
  908. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +0 -0
  909. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +0 -0
  910. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/date.png +0 -0
  911. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/delete.png +0 -0
  912. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/find.png +0 -0
  913. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif +0 -0
  914. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/macFFBgHack.png +0 -0
  915. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/package.png +0 -0
  916. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/page_green.png +0 -0
  917. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/page_white_text.png +0 -0
  918. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/page_white_width.png +0 -0
  919. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/plugin.png +0 -0
  920. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/ruby.png +0 -0
  921. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  922. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/tag_green.png +0 -0
  923. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  924. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/wrench.png +0 -0
  925. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/wrench_orange.png +0 -0
  926. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/images/zoom.png +0 -0
  927. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/index.rhtml +23 -0
  928. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/js/darkfish.js +161 -0
  929. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/js/jquery.js +4 -0
  930. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/js/search.js +109 -0
  931. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/page.rhtml +18 -0
  932. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +18 -0
  933. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +63 -0
  934. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +58 -0
  935. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/json_index/js/navigation.js +141 -0
  936. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/generator/template/json_index/js/searcher.js +229 -0
  937. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/ghost_method.rb +7 -0
  938. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/i18n.rb +10 -0
  939. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/i18n/locale.rb +102 -0
  940. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/i18n/text.rb +126 -0
  941. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/include.rb +10 -0
  942. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/known_classes.rb +73 -0
  943. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markdown.kpeg +1219 -0
  944. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markdown/entities.rb +2132 -0
  945. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markdown/literals.kpeg +23 -0
  946. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup.rb +868 -0
  947. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/attr_changer.rb +23 -0
  948. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/attr_span.rb +30 -0
  949. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/attribute_manager.rb +344 -0
  950. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/attributes.rb +71 -0
  951. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/blank_line.rb +28 -0
  952. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/block_quote.rb +15 -0
  953. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/document.rb +165 -0
  954. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/formatter.rb +266 -0
  955. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/formatter_test_case.rb +764 -0
  956. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/hard_break.rb +32 -0
  957. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/heading.rb +79 -0
  958. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/include.rb +43 -0
  959. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/indented_paragraph.rb +48 -0
  960. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/list.rb +102 -0
  961. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/list_item.rb +100 -0
  962. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/paragraph.rb +29 -0
  963. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/parser.rb +559 -0
  964. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/pre_process.rb +296 -0
  965. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/raw.rb +70 -0
  966. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/regexp_handling.rb +41 -0
  967. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/rule.rb +21 -0
  968. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/text_formatter_test_case.rb +115 -0
  969. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_ansi.rb +94 -0
  970. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_bs.rb +77 -0
  971. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_html.rb +404 -0
  972. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_html_crossref.rb +164 -0
  973. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_html_snippet.rb +285 -0
  974. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_joined_paragraph.rb +46 -0
  975. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_label.rb +75 -0
  976. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_markdown.rb +192 -0
  977. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_rdoc.rb +334 -0
  978. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_table_of_contents.rb +88 -0
  979. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_test.rb +70 -0
  980. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/to_tt_only.rb +121 -0
  981. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/markup/verbatim.rb +84 -0
  982. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/meta_method.rb +7 -0
  983. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/method_attr.rb +419 -0
  984. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/mixin.rb +121 -0
  985. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/normal_class.rb +93 -0
  986. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/normal_module.rb +74 -0
  987. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/options.rb +1235 -0
  988. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser.rb +277 -0
  989. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser/c.rb +1269 -0
  990. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser/changelog.rb +204 -0
  991. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser/markdown.rb +24 -0
  992. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser/rd.rb +23 -0
  993. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser/ripper_state_lex.rb +589 -0
  994. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser/ruby.rb +2317 -0
  995. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser/ruby_tools.rb +167 -0
  996. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser/simple.rb +61 -0
  997. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/parser/text.rb +12 -0
  998. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/rd.rb +100 -0
  999. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/rd/block_parser.ry +639 -0
  1000. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/rd/inline.rb +72 -0
  1001. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/rd/inline_parser.ry +593 -0
  1002. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/rdoc.rb +566 -0
  1003. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/require.rb +52 -0
  1004. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/ri.rb +21 -0
  1005. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/ri/driver.rb +1568 -0
  1006. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/ri/formatter.rb +6 -0
  1007. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/ri/paths.rb +185 -0
  1008. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/ri/store.rb +7 -0
  1009. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/ri/task.rb +71 -0
  1010. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/rubygems_hook.rb +246 -0
  1011. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/servlet.rb +443 -0
  1012. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/single_class.rb +26 -0
  1013. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/stats.rb +462 -0
  1014. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/stats/normal.rb +58 -0
  1015. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/stats/quiet.rb +60 -0
  1016. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/stats/verbose.rb +46 -0
  1017. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/store.rb +987 -0
  1018. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/task.rb +329 -0
  1019. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/text.rb +298 -0
  1020. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/token_stream.rb +114 -0
  1021. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/tom_doc.rb +264 -0
  1022. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/top_level.rb +289 -0
  1023. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/lib/rdoc/version.rb +8 -0
  1024. data/vendor/bundle/ruby/2.5.0/gems/rdoc-6.1.1/rdoc.gemspec +62 -0
  1025. data/vendor/bundle/ruby/2.5.0/gems/rubyforge-2.0.4/History.txt +128 -0
  1026. data/vendor/bundle/ruby/2.5.0/gems/rubyforge-2.0.4/Manifest.txt +9 -0
  1027. data/vendor/bundle/ruby/2.5.0/gems/rubyforge-2.0.4/README.txt +55 -0
  1028. data/vendor/bundle/ruby/2.5.0/gems/rubyforge-2.0.4/Rakefile +40 -0
  1029. data/vendor/bundle/ruby/2.5.0/gems/rubyforge-2.0.4/bin/rubyforge +222 -0
  1030. data/vendor/bundle/ruby/2.5.0/gems/rubyforge-2.0.4/lib/rubyforge.rb +389 -0
  1031. data/vendor/bundle/ruby/2.5.0/gems/rubyforge-2.0.4/lib/rubyforge/client.rb +124 -0
  1032. data/vendor/bundle/ruby/2.5.0/gems/rubyforge-2.0.4/test/test_rubyforge.rb +329 -0
  1033. data/vendor/bundle/ruby/2.5.0/gems/rubyforge-2.0.4/test/test_rubyforge_client.rb +57 -0
  1034. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/Gemfile +20 -0
  1035. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/LICENSE +144 -0
  1036. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/README.md +60 -0
  1037. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/Rakefile +62 -0
  1038. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/examples/bench_cache.rb +35 -0
  1039. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/JRubyCacheBackendLibrary.java +245 -0
  1040. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMap.java +31 -0
  1041. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMapV8.java +3863 -0
  1042. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/LongAdder.java +203 -0
  1043. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/Striped64.java +342 -0
  1044. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/ConcurrentHashMapV8.java +3800 -0
  1045. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/LongAdder.java +204 -0
  1046. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/Striped64.java +291 -0
  1047. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166y/ThreadLocalRandom.java +199 -0
  1048. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/ext/thread_safe/JrubyCacheBackendService.java +15 -0
  1049. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe.rb +65 -0
  1050. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/atomic_reference_cache_backend.rb +908 -0
  1051. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/cache.rb +161 -0
  1052. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/mri_cache_backend.rb +60 -0
  1053. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/non_concurrent_cache_backend.rb +135 -0
  1054. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_cache_backend.rb +77 -0
  1055. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_delegator.rb +43 -0
  1056. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/util.rb +16 -0
  1057. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/util/adder.rb +62 -0
  1058. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/util/atomic_reference.rb +44 -0
  1059. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/util/cheap_lockable.rb +106 -0
  1060. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/util/power_of_two_tuple.rb +26 -0
  1061. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/util/striped64.rb +222 -0
  1062. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile.rb +64 -0
  1063. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile_tuple.rb +46 -0
  1064. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/util/xor_shift_random.rb +41 -0
  1065. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/lib/thread_safe/version.rb +21 -0
  1066. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/spec_helper.rb +31 -0
  1067. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/src/thread_safe/SecurityManager.java +21 -0
  1068. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/support/threads.rb +1 -0
  1069. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/support/threadsafe_test.rb +75 -0
  1070. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/thread_safe/array_spec.rb +18 -0
  1071. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/thread_safe/cache_loops_spec.rb +507 -0
  1072. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/thread_safe/cache_spec.rb +943 -0
  1073. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/thread_safe/hash_spec.rb +17 -0
  1074. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/thread_safe/no_unsafe_spec.rb +27 -0
  1075. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/spec/thread_safe/synchronized_delegator_spec.rb +85 -0
  1076. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/tasks/update_doc.rake +45 -0
  1077. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/thread_safe.gemspec +26 -0
  1078. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/yard-template/default/fulldoc/html/css/common.css +125 -0
  1079. data/vendor/bundle/ruby/2.5.0/gems/thread_safe-0.3.6/yard-template/default/layout/html/footer.erb +16 -0
  1080. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/CHANGES.md +786 -0
  1081. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/LICENSE +19 -0
  1082. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/README.md +151 -0
  1083. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/Rakefile +107 -0
  1084. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo.rb +40 -0
  1085. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/country.rb +196 -0
  1086. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/country_index_definition.rb +31 -0
  1087. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/country_info.rb +42 -0
  1088. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/country_timezone.rb +135 -0
  1089. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/data_source.rb +190 -0
  1090. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/data_timezone.rb +58 -0
  1091. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/data_timezone_info.rb +55 -0
  1092. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/info_timezone.rb +30 -0
  1093. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/linked_timezone.rb +63 -0
  1094. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/linked_timezone_info.rb +26 -0
  1095. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/offset_rationals.rb +77 -0
  1096. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/ruby_core_support.rb +146 -0
  1097. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/ruby_country_info.rb +74 -0
  1098. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/ruby_data_source.rb +136 -0
  1099. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/time_or_datetime.rb +340 -0
  1100. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/timezone.rb +669 -0
  1101. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/timezone_definition.rb +36 -0
  1102. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/timezone_index_definition.rb +54 -0
  1103. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/timezone_info.rb +30 -0
  1104. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/timezone_offset.rb +101 -0
  1105. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/timezone_period.rb +245 -0
  1106. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/timezone_proxy.rb +105 -0
  1107. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/timezone_transition.rb +130 -0
  1108. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/timezone_transition_definition.rb +104 -0
  1109. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/transition_data_timezone_info.rb +274 -0
  1110. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/zoneinfo_country_info.rb +37 -0
  1111. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/zoneinfo_data_source.rb +488 -0
  1112. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/lib/tzinfo/zoneinfo_timezone_info.rb +296 -0
  1113. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_country.rb +234 -0
  1114. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_country_index_definition.rb +69 -0
  1115. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_country_info.rb +16 -0
  1116. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_country_timezone.rb +173 -0
  1117. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_data_source.rb +218 -0
  1118. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_data_timezone.rb +99 -0
  1119. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_data_timezone_info.rb +18 -0
  1120. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_info_timezone.rb +34 -0
  1121. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_linked_timezone.rb +155 -0
  1122. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_linked_timezone_info.rb +23 -0
  1123. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_offset_rationals.rb +23 -0
  1124. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_ruby_core_support.rb +168 -0
  1125. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_ruby_country_info.rb +110 -0
  1126. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_ruby_data_source.rb +143 -0
  1127. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_time_or_datetime.rb +654 -0
  1128. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone.rb +1350 -0
  1129. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_definition.rb +113 -0
  1130. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_index_definition.rb +73 -0
  1131. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_info.rb +11 -0
  1132. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_london.rb +143 -0
  1133. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_melbourne.rb +142 -0
  1134. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_new_york.rb +142 -0
  1135. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_offset.rb +126 -0
  1136. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_period.rb +555 -0
  1137. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_proxy.rb +136 -0
  1138. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_transition.rb +366 -0
  1139. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_transition_definition.rb +295 -0
  1140. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_timezone_utc.rb +27 -0
  1141. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_transition_data_timezone_info.rb +423 -0
  1142. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_zoneinfo_country_info.rb +78 -0
  1143. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_zoneinfo_data_source.rb +1195 -0
  1144. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tc_zoneinfo_timezone_info.rb +1232 -0
  1145. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/test_utils.rb +163 -0
  1146. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/ts_all.rb +7 -0
  1147. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/ts_all_ruby.rb +5 -0
  1148. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/ts_all_zoneinfo.rb +7 -0
  1149. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data.rb +8 -0
  1150. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  1151. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +315 -0
  1152. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +218 -0
  1153. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/EST.rb +19 -0
  1154. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  1155. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  1156. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  1157. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +261 -0
  1158. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +186 -0
  1159. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +321 -0
  1160. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +265 -0
  1161. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +220 -0
  1162. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +16 -0
  1163. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/indexes/countries.rb +927 -0
  1164. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +596 -0
  1165. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/tzinfo-data/tzinfo/data/version.rb +14 -0
  1166. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  1167. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/America/New_York +0 -0
  1168. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/Australia/Melbourne +0 -0
  1169. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/EST +0 -0
  1170. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/Etc/UTC +0 -0
  1171. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Amsterdam +0 -0
  1172. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Andorra +0 -0
  1173. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/Europe/London +0 -0
  1174. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Paris +0 -0
  1175. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/Europe/Prague +0 -0
  1176. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/Factory +0 -0
  1177. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/iso3166.tab +275 -0
  1178. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/leapseconds +61 -0
  1179. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/posix/Europe/London +0 -0
  1180. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/posixrules +0 -0
  1181. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/right/Europe/London +0 -0
  1182. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/zone.tab +439 -0
  1183. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/test/zoneinfo/zone1970.tab +369 -0
  1184. data/vendor/bundle/ruby/2.5.0/gems/tzinfo-1.2.5/tzinfo.gemspec +21 -0
  1185. data/vendor/bundle/ruby/2.5.0/specifications/activemodel-5.2.3.gemspec +34 -0
  1186. data/vendor/bundle/ruby/2.5.0/specifications/activemodel-serializers-xml-1.0.2.gemspec +46 -0
  1187. data/vendor/bundle/ruby/2.5.0/specifications/activeresource-5.1.0.gemspec +48 -0
  1188. data/vendor/bundle/ruby/2.5.0/specifications/activesupport-5.2.3.gemspec +44 -0
  1189. data/vendor/bundle/ruby/2.5.0/specifications/allison-2.0.3.gemspec +23 -0
  1190. data/vendor/bundle/ruby/2.5.0/specifications/builder-3.2.3.gemspec +21 -0
  1191. data/vendor/bundle/ruby/2.5.0/specifications/concurrent-ruby-1.1.5.gemspec +24 -0
  1192. data/vendor/bundle/ruby/2.5.0/specifications/echoe-4.6.6.gemspec +46 -0
  1193. data/vendor/bundle/ruby/2.5.0/specifications/i18n-1.6.0.gemspec +35 -0
  1194. data/vendor/bundle/ruby/2.5.0/specifications/json_pure-2.2.0.gemspec +39 -0
  1195. data/vendor/bundle/ruby/2.5.0/specifications/minitest-5.11.3.gemspec +39 -0
  1196. data/vendor/bundle/ruby/2.5.0/specifications/rake-12.3.2.gemspec +49 -0
  1197. data/vendor/bundle/ruby/2.5.0/specifications/rdoc-6.1.1.gemspec +50 -0
  1198. data/vendor/bundle/ruby/2.5.0/specifications/rubyforge-2.0.4.gemspec +36 -0
  1199. data/vendor/bundle/ruby/2.5.0/specifications/thread_safe-0.3.6.gemspec +38 -0
  1200. data/vendor/bundle/ruby/2.5.0/specifications/tzinfo-1.2.5.gemspec +37 -0
  1201. metadata +1283 -91
  1202. metadata.gz.sig +2 -0
  1203. data/sbin/rake-deploy1.sh +0 -9
  1204. data/sbin/rake-deploy2.sh +0 -11
  1205. data/sbin/reboot.rb +0 -3
  1206. data/sbin/ric_reboot.rb +0 -3
@@ -0,0 +1,113 @@
1
+ /*
2
+ * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
3
+ *
4
+ * Distributed under the Ruby license: https://www.ruby-lang.org/en/about/license.txt
5
+ */
6
+ package json.ext;
7
+
8
+ import org.jruby.Ruby;
9
+ import org.jruby.RubyClass;
10
+ import org.jruby.RubyHash;
11
+ import org.jruby.RubyNumeric;
12
+ import org.jruby.RubyString;
13
+ import org.jruby.runtime.ThreadContext;
14
+ import org.jruby.runtime.builtin.IRubyObject;
15
+ import org.jruby.util.ByteList;
16
+
17
+ final class OptionsReader {
18
+ private final ThreadContext context;
19
+ private final Ruby runtime;
20
+ private final RubyHash opts;
21
+ private RuntimeInfo info;
22
+
23
+ OptionsReader(ThreadContext context, IRubyObject vOpts) {
24
+ this.context = context;
25
+ this.runtime = context.getRuntime();
26
+ if (vOpts == null || vOpts.isNil()) {
27
+ opts = null;
28
+ } else if (vOpts.respondsTo("to_hash")) {
29
+ opts = vOpts.convertToHash();
30
+ } else if (vOpts.respondsTo("to_h")) {
31
+ opts = vOpts.callMethod(context, "to_h").convertToHash();
32
+ } else {
33
+ opts = vOpts.convertToHash(); /* Should just raise the correct TypeError */
34
+ }
35
+ }
36
+
37
+ private RuntimeInfo getRuntimeInfo() {
38
+ if (info != null) return info;
39
+ info = RuntimeInfo.forRuntime(runtime);
40
+ return info;
41
+ }
42
+
43
+ /**
44
+ * Efficiently looks up items with a {@link RubySymbol Symbol} key
45
+ * @param key The Symbol name to look up for
46
+ * @return The item in the {@link RubyHash Hash}, or <code>null</code>
47
+ * if not found
48
+ */
49
+ IRubyObject get(String key) {
50
+ return opts == null ? null : opts.fastARef(runtime.newSymbol(key));
51
+ }
52
+
53
+ boolean getBool(String key, boolean defaultValue) {
54
+ IRubyObject value = get(key);
55
+ return value == null ? defaultValue : value.isTrue();
56
+ }
57
+
58
+ int getInt(String key, int defaultValue) {
59
+ IRubyObject value = get(key);
60
+ if (value == null) return defaultValue;
61
+ if (!value.isTrue()) return 0;
62
+ return RubyNumeric.fix2int(value);
63
+ }
64
+
65
+ /**
66
+ * Reads the setting from the options hash. If no entry is set for this
67
+ * key or if it evaluates to <code>false</code>, returns null; attempts to
68
+ * coerce the value to {@link RubyString String} otherwise.
69
+ * @param key The Symbol name to look up for
70
+ * @return <code>null</code> if the key is not in the Hash or if
71
+ * its value evaluates to <code>false</code>
72
+ * @throws RaiseException <code>TypeError</code> if the value does not
73
+ * evaluate to <code>false</code> and can't be
74
+ * converted to string
75
+ */
76
+ ByteList getString(String key) {
77
+ RubyString str = getString(key, null);
78
+ return str == null ? null : str.getByteList().dup();
79
+ }
80
+
81
+ RubyString getString(String key, RubyString defaultValue) {
82
+ IRubyObject value = get(key);
83
+ if (value == null || !value.isTrue()) return defaultValue;
84
+
85
+ RubyString str = value.convertToString();
86
+ RuntimeInfo info = getRuntimeInfo();
87
+ if (str.encoding(context) != info.utf8.get()) {
88
+ str = (RubyString)str.encode(context, info.utf8.get());
89
+ }
90
+ return str;
91
+ }
92
+
93
+ /**
94
+ * Reads the setting from the options hash. If it is <code>nil</code> or
95
+ * undefined, returns the default value given.
96
+ * If not, ensures it is a RubyClass instance and shares the same
97
+ * allocator as the default value (i.e. for the basic types which have
98
+ * their specific allocators, this ensures the passed value is
99
+ * a subclass of them).
100
+ */
101
+ RubyClass getClass(String key, RubyClass defaultValue) {
102
+ IRubyObject value = get(key);
103
+
104
+ if (value == null || value.isNil()) return defaultValue;
105
+ return (RubyClass)value;
106
+ }
107
+
108
+ public RubyHash getHash(String key) {
109
+ IRubyObject value = get(key);
110
+ if (value == null || value.isNil()) return new RubyHash(runtime);
111
+ return (RubyHash) value;
112
+ }
113
+ }
@@ -0,0 +1,2362 @@
1
+
2
+ // line 1 "Parser.rl"
3
+ /*
4
+ * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
5
+ *
6
+ * Distributed under the Ruby license: https://www.ruby-lang.org/en/about/license.txt
7
+ */
8
+ package json.ext;
9
+
10
+ import org.jruby.Ruby;
11
+ import org.jruby.RubyArray;
12
+ import org.jruby.RubyClass;
13
+ import org.jruby.RubyEncoding;
14
+ import org.jruby.RubyFloat;
15
+ import org.jruby.RubyHash;
16
+ import org.jruby.RubyInteger;
17
+ import org.jruby.RubyModule;
18
+ import org.jruby.RubyNumeric;
19
+ import org.jruby.RubyObject;
20
+ import org.jruby.RubyString;
21
+ import org.jruby.anno.JRubyMethod;
22
+ import org.jruby.exceptions.JumpException;
23
+ import org.jruby.exceptions.RaiseException;
24
+ import org.jruby.runtime.Block;
25
+ import org.jruby.runtime.ObjectAllocator;
26
+ import org.jruby.runtime.ThreadContext;
27
+ import org.jruby.runtime.Visibility;
28
+ import org.jruby.runtime.builtin.IRubyObject;
29
+ import org.jruby.util.ByteList;
30
+ import org.jruby.util.ConvertBytes;
31
+ import static org.jruby.util.ConvertDouble.DoubleConverter;
32
+
33
+ /**
34
+ * The <code>JSON::Ext::Parser</code> class.
35
+ *
36
+ * <p>This is the JSON parser implemented as a Java class. To use it as the
37
+ * standard parser, set
38
+ * <pre>JSON.parser = JSON::Ext::Parser</pre>
39
+ * This is performed for you when you <code>include "json/ext"</code>.
40
+ *
41
+ * <p>This class does not perform the actual parsing, just acts as an interface
42
+ * to Ruby code. When the {@link #parse()} method is invoked, a
43
+ * Parser.ParserSession object is instantiated, which handles the process.
44
+ *
45
+ * @author mernen
46
+ */
47
+ public class Parser extends RubyObject {
48
+ private final RuntimeInfo info;
49
+ private RubyString vSource;
50
+ private RubyString createId;
51
+ private boolean createAdditions;
52
+ private int maxNesting;
53
+ private boolean allowNaN;
54
+ private boolean symbolizeNames;
55
+ private RubyClass objectClass;
56
+ private RubyClass arrayClass;
57
+ private RubyClass decimalClass;
58
+ private RubyHash match_string;
59
+
60
+ private static final int DEFAULT_MAX_NESTING = 100;
61
+
62
+ private static final ByteList JSON_MINUS_INFINITY = new ByteList(ByteList.plain("-Infinity"));
63
+ // constant names in the JSON module containing those values
64
+ private static final String CONST_NAN = "NaN";
65
+ private static final String CONST_INFINITY = "Infinity";
66
+ private static final String CONST_MINUS_INFINITY = "MinusInfinity";
67
+
68
+ static final ObjectAllocator ALLOCATOR = new ObjectAllocator() {
69
+ public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
70
+ return new Parser(runtime, klazz);
71
+ }
72
+ };
73
+
74
+ /**
75
+ * Multiple-value return for internal parser methods.
76
+ *
77
+ * <p>All the <code>parse<var>Stuff</var></code> methods return instances of
78
+ * <code>ParserResult</code> when successful, or <code>null</code> when
79
+ * there's a problem with the input data.
80
+ */
81
+ static final class ParserResult {
82
+ /**
83
+ * The result of the successful parsing. Should never be
84
+ * <code>null</code>.
85
+ */
86
+ IRubyObject result;
87
+ /**
88
+ * The point where the parser returned.
89
+ */
90
+ int p;
91
+
92
+ void update(IRubyObject result, int p) {
93
+ this.result = result;
94
+ this.p = p;
95
+ }
96
+ }
97
+
98
+ public Parser(Ruby runtime, RubyClass metaClass) {
99
+ super(runtime, metaClass);
100
+ info = RuntimeInfo.forRuntime(runtime);
101
+ }
102
+
103
+ /**
104
+ * <code>Parser.new(source, opts = {})</code>
105
+ *
106
+ * <p>Creates a new <code>JSON::Ext::Parser</code> instance for the string
107
+ * <code>source</code>.
108
+ * It will be configured by the <code>opts</code> Hash.
109
+ * <code>opts</code> can have the following keys:
110
+ *
111
+ * <dl>
112
+ * <dt><code>:max_nesting</code>
113
+ * <dd>The maximum depth of nesting allowed in the parsed data
114
+ * structures. Disable depth checking with <code>:max_nesting => false|nil|0</code>,
115
+ * it defaults to 100.
116
+ *
117
+ * <dt><code>:allow_nan</code>
118
+ * <dd>If set to <code>true</code>, allow <code>NaN</code>,
119
+ * <code>Infinity</code> and <code>-Infinity</code> in defiance of RFC 4627
120
+ * to be parsed by the Parser. This option defaults to <code>false</code>.
121
+ *
122
+ * <dt><code>:symbolize_names</code>
123
+ * <dd>If set to <code>true</code>, returns symbols for the names (keys) in
124
+ * a JSON object. Otherwise strings are returned, which is also the default.
125
+ *
126
+ * <dt><code>:create_additions</code>
127
+ * <dd>If set to <code>false</code>, the Parser doesn't create additions
128
+ * even if a matching class and <code>create_id</code> was found. This option
129
+ * defaults to <code>true</code>.
130
+ *
131
+ * <dt><code>:object_class</code>
132
+ * <dd>Defaults to Hash.
133
+ *
134
+ * <dt><code>:array_class</code>
135
+ * <dd>Defaults to Array.
136
+ *
137
+ * <dt><code>:decimal_class</code>
138
+ * <dd>Specifies which class to use instead of the default (Float) when
139
+ * parsing decimal numbers. This class must accept a single string argument
140
+ * in its constructor.
141
+ * </dl>
142
+ */
143
+ @JRubyMethod(name = "new", required = 1, optional = 1, meta = true)
144
+ public static IRubyObject newInstance(IRubyObject clazz, IRubyObject[] args, Block block) {
145
+ Parser parser = (Parser)((RubyClass)clazz).allocate();
146
+
147
+ parser.callInit(args, block);
148
+
149
+ return parser;
150
+ }
151
+
152
+ @JRubyMethod(required = 1, optional = 1, visibility = Visibility.PRIVATE)
153
+ public IRubyObject initialize(ThreadContext context, IRubyObject[] args) {
154
+ Ruby runtime = context.getRuntime();
155
+ if (this.vSource != null) {
156
+ throw runtime.newTypeError("already initialized instance");
157
+ }
158
+
159
+ OptionsReader opts = new OptionsReader(context, args.length > 1 ? args[1] : null);
160
+ this.maxNesting = opts.getInt("max_nesting", DEFAULT_MAX_NESTING);
161
+ this.allowNaN = opts.getBool("allow_nan", false);
162
+ this.symbolizeNames = opts.getBool("symbolize_names", false);
163
+ this.createId = opts.getString("create_id", getCreateId(context));
164
+ this.createAdditions = opts.getBool("create_additions", false);
165
+ this.objectClass = opts.getClass("object_class", runtime.getHash());
166
+ this.arrayClass = opts.getClass("array_class", runtime.getArray());
167
+ this.decimalClass = opts.getClass("decimal_class", null);
168
+ this.match_string = opts.getHash("match_string");
169
+
170
+ if(symbolizeNames && createAdditions) {
171
+ throw runtime.newArgumentError(
172
+ "options :symbolize_names and :create_additions cannot be " +
173
+ " used in conjunction"
174
+ );
175
+ }
176
+ this.vSource = args[0].convertToString();
177
+ this.vSource = convertEncoding(context, vSource);
178
+
179
+ return this;
180
+ }
181
+
182
+ /**
183
+ * Checks the given string's encoding. If a non-UTF-8 encoding is detected,
184
+ * a converted copy is returned.
185
+ * Returns the source string if no conversion is needed.
186
+ */
187
+ private RubyString convertEncoding(ThreadContext context, RubyString source) {
188
+ RubyEncoding encoding = (RubyEncoding)source.encoding(context);
189
+ if (encoding == info.ascii8bit.get()) {
190
+ if (source.isFrozen()) {
191
+ source = (RubyString) source.dup();
192
+ }
193
+ source.force_encoding(context, info.utf8.get());
194
+ } else {
195
+ source = (RubyString) source.encode(context, info.utf8.get());
196
+ }
197
+ return source;
198
+ }
199
+
200
+ /**
201
+ * Checks the first four bytes of the given ByteList to infer its encoding,
202
+ * using the principle demonstrated on section 3 of RFC 4627 (JSON).
203
+ */
204
+ private static String sniffByteList(ByteList bl) {
205
+ if (bl.length() < 4) return null;
206
+ if (bl.get(0) == 0 && bl.get(2) == 0) {
207
+ return bl.get(1) == 0 ? "utf-32be" : "utf-16be";
208
+ }
209
+ if (bl.get(1) == 0 && bl.get(3) == 0) {
210
+ return bl.get(2) == 0 ? "utf-32le" : "utf-16le";
211
+ }
212
+ return null;
213
+ }
214
+
215
+ /**
216
+ * Assumes the given (binary) RubyString to be in the given encoding, then
217
+ * converts it to UTF-8.
218
+ */
219
+ private RubyString reinterpretEncoding(ThreadContext context,
220
+ RubyString str, String sniffedEncoding) {
221
+ RubyEncoding actualEncoding = info.getEncoding(context, sniffedEncoding);
222
+ RubyEncoding targetEncoding = info.utf8.get();
223
+ RubyString dup = (RubyString)str.dup();
224
+ dup.force_encoding(context, actualEncoding);
225
+ return (RubyString)dup.encode_bang(context, targetEncoding);
226
+ }
227
+
228
+ /**
229
+ * <code>Parser#parse()</code>
230
+ *
231
+ * <p>Parses the current JSON text <code>source</code> and returns the
232
+ * complete data structure as a result.
233
+ */
234
+ @JRubyMethod
235
+ public IRubyObject parse(ThreadContext context) {
236
+ return new ParserSession(this, context, info).parse();
237
+ }
238
+
239
+ /**
240
+ * <code>Parser#source()</code>
241
+ *
242
+ * <p>Returns a copy of the current <code>source</code> string, that was
243
+ * used to construct this Parser.
244
+ */
245
+ @JRubyMethod(name = "source")
246
+ public IRubyObject source_get() {
247
+ return checkAndGetSource().dup();
248
+ }
249
+
250
+ public RubyString checkAndGetSource() {
251
+ if (vSource != null) {
252
+ return vSource;
253
+ } else {
254
+ throw getRuntime().newTypeError("uninitialized instance");
255
+ }
256
+ }
257
+
258
+ /**
259
+ * Queries <code>JSON.create_id</code>. Returns <code>null</code> if it is
260
+ * set to <code>nil</code> or <code>false</code>, and a String if not.
261
+ */
262
+ private RubyString getCreateId(ThreadContext context) {
263
+ IRubyObject v = info.jsonModule.get().callMethod(context, "create_id");
264
+ return v.isTrue() ? v.convertToString() : null;
265
+ }
266
+
267
+ /**
268
+ * A string parsing session.
269
+ *
270
+ * <p>Once a ParserSession is instantiated, the source string should not
271
+ * change until the parsing is complete. The ParserSession object assumes
272
+ * the source {@link RubyString} is still associated to its original
273
+ * {@link ByteList}, which in turn must still be bound to the same
274
+ * <code>byte[]</code> value (and on the same offset).
275
+ */
276
+ // Ragel uses lots of fall-through
277
+ @SuppressWarnings("fallthrough")
278
+ private static class ParserSession {
279
+ private final Parser parser;
280
+ private final ThreadContext context;
281
+ private final RuntimeInfo info;
282
+ private final ByteList byteList;
283
+ private final ByteList view;
284
+ private final byte[] data;
285
+ private final StringDecoder decoder;
286
+ private int currentNesting = 0;
287
+ private final DoubleConverter dc;
288
+
289
+ // initialization value for all state variables.
290
+ // no idea about the origins of this value, ask Flori ;)
291
+ private static final int EVIL = 0x666;
292
+
293
+ private ParserSession(Parser parser, ThreadContext context, RuntimeInfo info) {
294
+ this.parser = parser;
295
+ this.context = context;
296
+ this.info = info;
297
+ this.byteList = parser.checkAndGetSource().getByteList();
298
+ this.data = byteList.unsafeBytes();
299
+ this.view = new ByteList(data, false);
300
+ this.decoder = new StringDecoder(context);
301
+ this.dc = new DoubleConverter();
302
+ }
303
+
304
+ private RaiseException unexpectedToken(int absStart, int absEnd) {
305
+ RubyString msg = getRuntime().newString("unexpected token at '")
306
+ .cat(data, absStart, absEnd - absStart)
307
+ .cat((byte)'\'');
308
+ return newException(Utils.M_PARSER_ERROR, msg);
309
+ }
310
+
311
+ private Ruby getRuntime() {
312
+ return context.getRuntime();
313
+ }
314
+
315
+
316
+ // line 339 "Parser.rl"
317
+
318
+
319
+
320
+ // line 321 "Parser.java"
321
+ private static byte[] init__JSON_value_actions_0()
322
+ {
323
+ return new byte [] {
324
+ 0, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1,
325
+ 5, 1, 6, 1, 7, 1, 8, 1, 9
326
+ };
327
+ }
328
+
329
+ private static final byte _JSON_value_actions[] = init__JSON_value_actions_0();
330
+
331
+
332
+ private static byte[] init__JSON_value_key_offsets_0()
333
+ {
334
+ return new byte [] {
335
+ 0, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
336
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
337
+ };
338
+ }
339
+
340
+ private static final byte _JSON_value_key_offsets[] = init__JSON_value_key_offsets_0();
341
+
342
+
343
+ private static char[] init__JSON_value_trans_keys_0()
344
+ {
345
+ return new char [] {
346
+ 34, 45, 73, 78, 91, 102, 110, 116, 123, 48, 57, 110,
347
+ 102, 105, 110, 105, 116, 121, 97, 78, 97, 108, 115, 101,
348
+ 117, 108, 108, 114, 117, 101, 0
349
+ };
350
+ }
351
+
352
+ private static final char _JSON_value_trans_keys[] = init__JSON_value_trans_keys_0();
353
+
354
+
355
+ private static byte[] init__JSON_value_single_lengths_0()
356
+ {
357
+ return new byte [] {
358
+ 0, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
359
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0
360
+ };
361
+ }
362
+
363
+ private static final byte _JSON_value_single_lengths[] = init__JSON_value_single_lengths_0();
364
+
365
+
366
+ private static byte[] init__JSON_value_range_lengths_0()
367
+ {
368
+ return new byte [] {
369
+ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
370
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
371
+ };
372
+ }
373
+
374
+ private static final byte _JSON_value_range_lengths[] = init__JSON_value_range_lengths_0();
375
+
376
+
377
+ private static byte[] init__JSON_value_index_offsets_0()
378
+ {
379
+ return new byte [] {
380
+ 0, 0, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29,
381
+ 31, 33, 35, 37, 39, 41, 43, 45, 47, 49
382
+ };
383
+ }
384
+
385
+ private static final byte _JSON_value_index_offsets[] = init__JSON_value_index_offsets_0();
386
+
387
+
388
+ private static byte[] init__JSON_value_trans_targs_0()
389
+ {
390
+ return new byte [] {
391
+ 21, 21, 2, 9, 21, 11, 15, 18, 21, 21, 0, 3,
392
+ 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 21,
393
+ 0, 10, 0, 21, 0, 12, 0, 13, 0, 14, 0, 21,
394
+ 0, 16, 0, 17, 0, 21, 0, 19, 0, 20, 0, 21,
395
+ 0, 0, 0
396
+ };
397
+ }
398
+
399
+ private static final byte _JSON_value_trans_targs[] = init__JSON_value_trans_targs_0();
400
+
401
+
402
+ private static byte[] init__JSON_value_trans_actions_0()
403
+ {
404
+ return new byte [] {
405
+ 13, 11, 0, 0, 15, 0, 0, 0, 17, 11, 0, 0,
406
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
407
+ 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 3,
408
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 5,
409
+ 0, 0, 0
410
+ };
411
+ }
412
+
413
+ private static final byte _JSON_value_trans_actions[] = init__JSON_value_trans_actions_0();
414
+
415
+
416
+ private static byte[] init__JSON_value_from_state_actions_0()
417
+ {
418
+ return new byte [] {
419
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 19
421
+ };
422
+ }
423
+
424
+ private static final byte _JSON_value_from_state_actions[] = init__JSON_value_from_state_actions_0();
425
+
426
+
427
+ static final int JSON_value_start = 1;
428
+ static final int JSON_value_first_final = 21;
429
+ static final int JSON_value_error = 0;
430
+
431
+ static final int JSON_value_en_main = 1;
432
+
433
+
434
+ // line 445 "Parser.rl"
435
+
436
+
437
+ void parseValue(ParserResult res, int p, int pe) {
438
+ int cs = EVIL;
439
+ IRubyObject result = null;
440
+
441
+
442
+ // line 443 "Parser.java"
443
+ {
444
+ cs = JSON_value_start;
445
+ }
446
+
447
+ // line 452 "Parser.rl"
448
+
449
+ // line 450 "Parser.java"
450
+ {
451
+ int _klen;
452
+ int _trans = 0;
453
+ int _acts;
454
+ int _nacts;
455
+ int _keys;
456
+ int _goto_targ = 0;
457
+
458
+ _goto: while (true) {
459
+ switch ( _goto_targ ) {
460
+ case 0:
461
+ if ( p == pe ) {
462
+ _goto_targ = 4;
463
+ continue _goto;
464
+ }
465
+ if ( cs == 0 ) {
466
+ _goto_targ = 5;
467
+ continue _goto;
468
+ }
469
+ case 1:
470
+ _acts = _JSON_value_from_state_actions[cs];
471
+ _nacts = (int) _JSON_value_actions[_acts++];
472
+ while ( _nacts-- > 0 ) {
473
+ switch ( _JSON_value_actions[_acts++] ) {
474
+ case 9:
475
+ // line 430 "Parser.rl"
476
+ {
477
+ p--;
478
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
479
+ }
480
+ break;
481
+ // line 482 "Parser.java"
482
+ }
483
+ }
484
+
485
+ _match: do {
486
+ _keys = _JSON_value_key_offsets[cs];
487
+ _trans = _JSON_value_index_offsets[cs];
488
+ _klen = _JSON_value_single_lengths[cs];
489
+ if ( _klen > 0 ) {
490
+ int _lower = _keys;
491
+ int _mid;
492
+ int _upper = _keys + _klen - 1;
493
+ while (true) {
494
+ if ( _upper < _lower )
495
+ break;
496
+
497
+ _mid = _lower + ((_upper-_lower) >> 1);
498
+ if ( data[p] < _JSON_value_trans_keys[_mid] )
499
+ _upper = _mid - 1;
500
+ else if ( data[p] > _JSON_value_trans_keys[_mid] )
501
+ _lower = _mid + 1;
502
+ else {
503
+ _trans += (_mid - _keys);
504
+ break _match;
505
+ }
506
+ }
507
+ _keys += _klen;
508
+ _trans += _klen;
509
+ }
510
+
511
+ _klen = _JSON_value_range_lengths[cs];
512
+ if ( _klen > 0 ) {
513
+ int _lower = _keys;
514
+ int _mid;
515
+ int _upper = _keys + (_klen<<1) - 2;
516
+ while (true) {
517
+ if ( _upper < _lower )
518
+ break;
519
+
520
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
521
+ if ( data[p] < _JSON_value_trans_keys[_mid] )
522
+ _upper = _mid - 2;
523
+ else if ( data[p] > _JSON_value_trans_keys[_mid+1] )
524
+ _lower = _mid + 2;
525
+ else {
526
+ _trans += ((_mid - _keys)>>1);
527
+ break _match;
528
+ }
529
+ }
530
+ _trans += _klen;
531
+ }
532
+ } while (false);
533
+
534
+ cs = _JSON_value_trans_targs[_trans];
535
+
536
+ if ( _JSON_value_trans_actions[_trans] != 0 ) {
537
+ _acts = _JSON_value_trans_actions[_trans];
538
+ _nacts = (int) _JSON_value_actions[_acts++];
539
+ while ( _nacts-- > 0 )
540
+ {
541
+ switch ( _JSON_value_actions[_acts++] )
542
+ {
543
+ case 0:
544
+ // line 347 "Parser.rl"
545
+ {
546
+ result = getRuntime().getNil();
547
+ }
548
+ break;
549
+ case 1:
550
+ // line 350 "Parser.rl"
551
+ {
552
+ result = getRuntime().getFalse();
553
+ }
554
+ break;
555
+ case 2:
556
+ // line 353 "Parser.rl"
557
+ {
558
+ result = getRuntime().getTrue();
559
+ }
560
+ break;
561
+ case 3:
562
+ // line 356 "Parser.rl"
563
+ {
564
+ if (parser.allowNaN) {
565
+ result = getConstant(CONST_NAN);
566
+ } else {
567
+ throw unexpectedToken(p - 2, pe);
568
+ }
569
+ }
570
+ break;
571
+ case 4:
572
+ // line 363 "Parser.rl"
573
+ {
574
+ if (parser.allowNaN) {
575
+ result = getConstant(CONST_INFINITY);
576
+ } else {
577
+ throw unexpectedToken(p - 7, pe);
578
+ }
579
+ }
580
+ break;
581
+ case 5:
582
+ // line 370 "Parser.rl"
583
+ {
584
+ if (pe > p + 8 &&
585
+ absSubSequence(p, p + 9).equals(JSON_MINUS_INFINITY)) {
586
+
587
+ if (parser.allowNaN) {
588
+ result = getConstant(CONST_MINUS_INFINITY);
589
+ {p = (( p + 10))-1;}
590
+ p--;
591
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
592
+ } else {
593
+ throw unexpectedToken(p, pe);
594
+ }
595
+ }
596
+ parseFloat(res, p, pe);
597
+ if (res.result != null) {
598
+ result = res.result;
599
+ {p = (( res.p))-1;}
600
+ }
601
+ parseInteger(res, p, pe);
602
+ if (res.result != null) {
603
+ result = res.result;
604
+ {p = (( res.p))-1;}
605
+ }
606
+ p--;
607
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
608
+ }
609
+ break;
610
+ case 6:
611
+ // line 396 "Parser.rl"
612
+ {
613
+ parseString(res, p, pe);
614
+ if (res.result == null) {
615
+ p--;
616
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
617
+ } else {
618
+ result = res.result;
619
+ {p = (( res.p))-1;}
620
+ }
621
+ }
622
+ break;
623
+ case 7:
624
+ // line 406 "Parser.rl"
625
+ {
626
+ currentNesting++;
627
+ parseArray(res, p, pe);
628
+ currentNesting--;
629
+ if (res.result == null) {
630
+ p--;
631
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
632
+ } else {
633
+ result = res.result;
634
+ {p = (( res.p))-1;}
635
+ }
636
+ }
637
+ break;
638
+ case 8:
639
+ // line 418 "Parser.rl"
640
+ {
641
+ currentNesting++;
642
+ parseObject(res, p, pe);
643
+ currentNesting--;
644
+ if (res.result == null) {
645
+ p--;
646
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
647
+ } else {
648
+ result = res.result;
649
+ {p = (( res.p))-1;}
650
+ }
651
+ }
652
+ break;
653
+ // line 654 "Parser.java"
654
+ }
655
+ }
656
+ }
657
+
658
+ case 2:
659
+ if ( cs == 0 ) {
660
+ _goto_targ = 5;
661
+ continue _goto;
662
+ }
663
+ if ( ++p != pe ) {
664
+ _goto_targ = 1;
665
+ continue _goto;
666
+ }
667
+ case 4:
668
+ case 5:
669
+ }
670
+ break; }
671
+ }
672
+
673
+ // line 453 "Parser.rl"
674
+
675
+ if (cs >= JSON_value_first_final && result != null) {
676
+ res.update(result, p);
677
+ } else {
678
+ res.update(null, p);
679
+ }
680
+ }
681
+
682
+
683
+ // line 684 "Parser.java"
684
+ private static byte[] init__JSON_integer_actions_0()
685
+ {
686
+ return new byte [] {
687
+ 0, 1, 0
688
+ };
689
+ }
690
+
691
+ private static final byte _JSON_integer_actions[] = init__JSON_integer_actions_0();
692
+
693
+
694
+ private static byte[] init__JSON_integer_key_offsets_0()
695
+ {
696
+ return new byte [] {
697
+ 0, 0, 4, 7, 9, 9
698
+ };
699
+ }
700
+
701
+ private static final byte _JSON_integer_key_offsets[] = init__JSON_integer_key_offsets_0();
702
+
703
+
704
+ private static char[] init__JSON_integer_trans_keys_0()
705
+ {
706
+ return new char [] {
707
+ 45, 48, 49, 57, 48, 49, 57, 48, 57, 48, 57, 0
708
+ };
709
+ }
710
+
711
+ private static final char _JSON_integer_trans_keys[] = init__JSON_integer_trans_keys_0();
712
+
713
+
714
+ private static byte[] init__JSON_integer_single_lengths_0()
715
+ {
716
+ return new byte [] {
717
+ 0, 2, 1, 0, 0, 0
718
+ };
719
+ }
720
+
721
+ private static final byte _JSON_integer_single_lengths[] = init__JSON_integer_single_lengths_0();
722
+
723
+
724
+ private static byte[] init__JSON_integer_range_lengths_0()
725
+ {
726
+ return new byte [] {
727
+ 0, 1, 1, 1, 0, 1
728
+ };
729
+ }
730
+
731
+ private static final byte _JSON_integer_range_lengths[] = init__JSON_integer_range_lengths_0();
732
+
733
+
734
+ private static byte[] init__JSON_integer_index_offsets_0()
735
+ {
736
+ return new byte [] {
737
+ 0, 0, 4, 7, 9, 10
738
+ };
739
+ }
740
+
741
+ private static final byte _JSON_integer_index_offsets[] = init__JSON_integer_index_offsets_0();
742
+
743
+
744
+ private static byte[] init__JSON_integer_indicies_0()
745
+ {
746
+ return new byte [] {
747
+ 0, 2, 3, 1, 2, 3, 1, 1, 4, 1, 3, 4,
748
+ 0
749
+ };
750
+ }
751
+
752
+ private static final byte _JSON_integer_indicies[] = init__JSON_integer_indicies_0();
753
+
754
+
755
+ private static byte[] init__JSON_integer_trans_targs_0()
756
+ {
757
+ return new byte [] {
758
+ 2, 0, 3, 5, 4
759
+ };
760
+ }
761
+
762
+ private static final byte _JSON_integer_trans_targs[] = init__JSON_integer_trans_targs_0();
763
+
764
+
765
+ private static byte[] init__JSON_integer_trans_actions_0()
766
+ {
767
+ return new byte [] {
768
+ 0, 0, 0, 0, 1
769
+ };
770
+ }
771
+
772
+ private static final byte _JSON_integer_trans_actions[] = init__JSON_integer_trans_actions_0();
773
+
774
+
775
+ static final int JSON_integer_start = 1;
776
+ static final int JSON_integer_first_final = 3;
777
+ static final int JSON_integer_error = 0;
778
+
779
+ static final int JSON_integer_en_main = 1;
780
+
781
+
782
+ // line 472 "Parser.rl"
783
+
784
+
785
+ void parseInteger(ParserResult res, int p, int pe) {
786
+ int new_p = parseIntegerInternal(p, pe);
787
+ if (new_p == -1) {
788
+ res.update(null, p);
789
+ return;
790
+ }
791
+ RubyInteger number = createInteger(p, new_p);
792
+ res.update(number, new_p + 1);
793
+ return;
794
+ }
795
+
796
+ int parseIntegerInternal(int p, int pe) {
797
+ int cs = EVIL;
798
+
799
+
800
+ // line 801 "Parser.java"
801
+ {
802
+ cs = JSON_integer_start;
803
+ }
804
+
805
+ // line 489 "Parser.rl"
806
+ int memo = p;
807
+
808
+ // line 809 "Parser.java"
809
+ {
810
+ int _klen;
811
+ int _trans = 0;
812
+ int _acts;
813
+ int _nacts;
814
+ int _keys;
815
+ int _goto_targ = 0;
816
+
817
+ _goto: while (true) {
818
+ switch ( _goto_targ ) {
819
+ case 0:
820
+ if ( p == pe ) {
821
+ _goto_targ = 4;
822
+ continue _goto;
823
+ }
824
+ if ( cs == 0 ) {
825
+ _goto_targ = 5;
826
+ continue _goto;
827
+ }
828
+ case 1:
829
+ _match: do {
830
+ _keys = _JSON_integer_key_offsets[cs];
831
+ _trans = _JSON_integer_index_offsets[cs];
832
+ _klen = _JSON_integer_single_lengths[cs];
833
+ if ( _klen > 0 ) {
834
+ int _lower = _keys;
835
+ int _mid;
836
+ int _upper = _keys + _klen - 1;
837
+ while (true) {
838
+ if ( _upper < _lower )
839
+ break;
840
+
841
+ _mid = _lower + ((_upper-_lower) >> 1);
842
+ if ( data[p] < _JSON_integer_trans_keys[_mid] )
843
+ _upper = _mid - 1;
844
+ else if ( data[p] > _JSON_integer_trans_keys[_mid] )
845
+ _lower = _mid + 1;
846
+ else {
847
+ _trans += (_mid - _keys);
848
+ break _match;
849
+ }
850
+ }
851
+ _keys += _klen;
852
+ _trans += _klen;
853
+ }
854
+
855
+ _klen = _JSON_integer_range_lengths[cs];
856
+ if ( _klen > 0 ) {
857
+ int _lower = _keys;
858
+ int _mid;
859
+ int _upper = _keys + (_klen<<1) - 2;
860
+ while (true) {
861
+ if ( _upper < _lower )
862
+ break;
863
+
864
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
865
+ if ( data[p] < _JSON_integer_trans_keys[_mid] )
866
+ _upper = _mid - 2;
867
+ else if ( data[p] > _JSON_integer_trans_keys[_mid+1] )
868
+ _lower = _mid + 2;
869
+ else {
870
+ _trans += ((_mid - _keys)>>1);
871
+ break _match;
872
+ }
873
+ }
874
+ _trans += _klen;
875
+ }
876
+ } while (false);
877
+
878
+ _trans = _JSON_integer_indicies[_trans];
879
+ cs = _JSON_integer_trans_targs[_trans];
880
+
881
+ if ( _JSON_integer_trans_actions[_trans] != 0 ) {
882
+ _acts = _JSON_integer_trans_actions[_trans];
883
+ _nacts = (int) _JSON_integer_actions[_acts++];
884
+ while ( _nacts-- > 0 )
885
+ {
886
+ switch ( _JSON_integer_actions[_acts++] )
887
+ {
888
+ case 0:
889
+ // line 466 "Parser.rl"
890
+ {
891
+ p--;
892
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
893
+ }
894
+ break;
895
+ // line 896 "Parser.java"
896
+ }
897
+ }
898
+ }
899
+
900
+ case 2:
901
+ if ( cs == 0 ) {
902
+ _goto_targ = 5;
903
+ continue _goto;
904
+ }
905
+ if ( ++p != pe ) {
906
+ _goto_targ = 1;
907
+ continue _goto;
908
+ }
909
+ case 4:
910
+ case 5:
911
+ }
912
+ break; }
913
+ }
914
+
915
+ // line 491 "Parser.rl"
916
+
917
+ if (cs < JSON_integer_first_final) {
918
+ return -1;
919
+ }
920
+
921
+ return p;
922
+ }
923
+
924
+ RubyInteger createInteger(int p, int new_p) {
925
+ Ruby runtime = getRuntime();
926
+ ByteList num = absSubSequence(p, new_p);
927
+ return bytesToInum(runtime, num);
928
+ }
929
+
930
+ RubyInteger bytesToInum(Ruby runtime, ByteList num) {
931
+ return runtime.is1_9() ?
932
+ ConvertBytes.byteListToInum19(runtime, num, 10, true) :
933
+ ConvertBytes.byteListToInum(runtime, num, 10, true);
934
+ }
935
+
936
+
937
+ // line 938 "Parser.java"
938
+ private static byte[] init__JSON_float_actions_0()
939
+ {
940
+ return new byte [] {
941
+ 0, 1, 0
942
+ };
943
+ }
944
+
945
+ private static final byte _JSON_float_actions[] = init__JSON_float_actions_0();
946
+
947
+
948
+ private static byte[] init__JSON_float_key_offsets_0()
949
+ {
950
+ return new byte [] {
951
+ 0, 0, 4, 7, 10, 12, 16, 18, 23, 29, 29
952
+ };
953
+ }
954
+
955
+ private static final byte _JSON_float_key_offsets[] = init__JSON_float_key_offsets_0();
956
+
957
+
958
+ private static char[] init__JSON_float_trans_keys_0()
959
+ {
960
+ return new char [] {
961
+ 45, 48, 49, 57, 48, 49, 57, 46, 69, 101, 48, 57,
962
+ 43, 45, 48, 57, 48, 57, 46, 69, 101, 48, 57, 69,
963
+ 101, 45, 46, 48, 57, 69, 101, 45, 46, 48, 57, 0
964
+ };
965
+ }
966
+
967
+ private static final char _JSON_float_trans_keys[] = init__JSON_float_trans_keys_0();
968
+
969
+
970
+ private static byte[] init__JSON_float_single_lengths_0()
971
+ {
972
+ return new byte [] {
973
+ 0, 2, 1, 3, 0, 2, 0, 3, 2, 0, 2
974
+ };
975
+ }
976
+
977
+ private static final byte _JSON_float_single_lengths[] = init__JSON_float_single_lengths_0();
978
+
979
+
980
+ private static byte[] init__JSON_float_range_lengths_0()
981
+ {
982
+ return new byte [] {
983
+ 0, 1, 1, 0, 1, 1, 1, 1, 2, 0, 2
984
+ };
985
+ }
986
+
987
+ private static final byte _JSON_float_range_lengths[] = init__JSON_float_range_lengths_0();
988
+
989
+
990
+ private static byte[] init__JSON_float_index_offsets_0()
991
+ {
992
+ return new byte [] {
993
+ 0, 0, 4, 7, 11, 13, 17, 19, 24, 29, 30
994
+ };
995
+ }
996
+
997
+ private static final byte _JSON_float_index_offsets[] = init__JSON_float_index_offsets_0();
998
+
999
+
1000
+ private static byte[] init__JSON_float_indicies_0()
1001
+ {
1002
+ return new byte [] {
1003
+ 0, 2, 3, 1, 2, 3, 1, 4, 5, 5, 1, 6,
1004
+ 1, 7, 7, 8, 1, 8, 1, 4, 5, 5, 3, 1,
1005
+ 5, 5, 1, 6, 9, 1, 1, 1, 1, 8, 9, 0
1006
+ };
1007
+ }
1008
+
1009
+ private static final byte _JSON_float_indicies[] = init__JSON_float_indicies_0();
1010
+
1011
+
1012
+ private static byte[] init__JSON_float_trans_targs_0()
1013
+ {
1014
+ return new byte [] {
1015
+ 2, 0, 3, 7, 4, 5, 8, 6, 10, 9
1016
+ };
1017
+ }
1018
+
1019
+ private static final byte _JSON_float_trans_targs[] = init__JSON_float_trans_targs_0();
1020
+
1021
+
1022
+ private static byte[] init__JSON_float_trans_actions_0()
1023
+ {
1024
+ return new byte [] {
1025
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
1026
+ };
1027
+ }
1028
+
1029
+ private static final byte _JSON_float_trans_actions[] = init__JSON_float_trans_actions_0();
1030
+
1031
+
1032
+ static final int JSON_float_start = 1;
1033
+ static final int JSON_float_first_final = 8;
1034
+ static final int JSON_float_error = 0;
1035
+
1036
+ static final int JSON_float_en_main = 1;
1037
+
1038
+
1039
+ // line 526 "Parser.rl"
1040
+
1041
+
1042
+ void parseFloat(ParserResult res, int p, int pe) {
1043
+ int new_p = parseFloatInternal(p, pe);
1044
+ if (new_p == -1) {
1045
+ res.update(null, p);
1046
+ return;
1047
+ }
1048
+ IRubyObject number = parser.decimalClass == null ?
1049
+ createFloat(p, new_p) : createCustomDecimal(p, new_p);
1050
+
1051
+ res.update(number, new_p + 1);
1052
+ return;
1053
+ }
1054
+
1055
+ int parseFloatInternal(int p, int pe) {
1056
+ int cs = EVIL;
1057
+
1058
+
1059
+ // line 1060 "Parser.java"
1060
+ {
1061
+ cs = JSON_float_start;
1062
+ }
1063
+
1064
+ // line 545 "Parser.rl"
1065
+ int memo = p;
1066
+
1067
+ // line 1068 "Parser.java"
1068
+ {
1069
+ int _klen;
1070
+ int _trans = 0;
1071
+ int _acts;
1072
+ int _nacts;
1073
+ int _keys;
1074
+ int _goto_targ = 0;
1075
+
1076
+ _goto: while (true) {
1077
+ switch ( _goto_targ ) {
1078
+ case 0:
1079
+ if ( p == pe ) {
1080
+ _goto_targ = 4;
1081
+ continue _goto;
1082
+ }
1083
+ if ( cs == 0 ) {
1084
+ _goto_targ = 5;
1085
+ continue _goto;
1086
+ }
1087
+ case 1:
1088
+ _match: do {
1089
+ _keys = _JSON_float_key_offsets[cs];
1090
+ _trans = _JSON_float_index_offsets[cs];
1091
+ _klen = _JSON_float_single_lengths[cs];
1092
+ if ( _klen > 0 ) {
1093
+ int _lower = _keys;
1094
+ int _mid;
1095
+ int _upper = _keys + _klen - 1;
1096
+ while (true) {
1097
+ if ( _upper < _lower )
1098
+ break;
1099
+
1100
+ _mid = _lower + ((_upper-_lower) >> 1);
1101
+ if ( data[p] < _JSON_float_trans_keys[_mid] )
1102
+ _upper = _mid - 1;
1103
+ else if ( data[p] > _JSON_float_trans_keys[_mid] )
1104
+ _lower = _mid + 1;
1105
+ else {
1106
+ _trans += (_mid - _keys);
1107
+ break _match;
1108
+ }
1109
+ }
1110
+ _keys += _klen;
1111
+ _trans += _klen;
1112
+ }
1113
+
1114
+ _klen = _JSON_float_range_lengths[cs];
1115
+ if ( _klen > 0 ) {
1116
+ int _lower = _keys;
1117
+ int _mid;
1118
+ int _upper = _keys + (_klen<<1) - 2;
1119
+ while (true) {
1120
+ if ( _upper < _lower )
1121
+ break;
1122
+
1123
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
1124
+ if ( data[p] < _JSON_float_trans_keys[_mid] )
1125
+ _upper = _mid - 2;
1126
+ else if ( data[p] > _JSON_float_trans_keys[_mid+1] )
1127
+ _lower = _mid + 2;
1128
+ else {
1129
+ _trans += ((_mid - _keys)>>1);
1130
+ break _match;
1131
+ }
1132
+ }
1133
+ _trans += _klen;
1134
+ }
1135
+ } while (false);
1136
+
1137
+ _trans = _JSON_float_indicies[_trans];
1138
+ cs = _JSON_float_trans_targs[_trans];
1139
+
1140
+ if ( _JSON_float_trans_actions[_trans] != 0 ) {
1141
+ _acts = _JSON_float_trans_actions[_trans];
1142
+ _nacts = (int) _JSON_float_actions[_acts++];
1143
+ while ( _nacts-- > 0 )
1144
+ {
1145
+ switch ( _JSON_float_actions[_acts++] )
1146
+ {
1147
+ case 0:
1148
+ // line 517 "Parser.rl"
1149
+ {
1150
+ p--;
1151
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
1152
+ }
1153
+ break;
1154
+ // line 1155 "Parser.java"
1155
+ }
1156
+ }
1157
+ }
1158
+
1159
+ case 2:
1160
+ if ( cs == 0 ) {
1161
+ _goto_targ = 5;
1162
+ continue _goto;
1163
+ }
1164
+ if ( ++p != pe ) {
1165
+ _goto_targ = 1;
1166
+ continue _goto;
1167
+ }
1168
+ case 4:
1169
+ case 5:
1170
+ }
1171
+ break; }
1172
+ }
1173
+
1174
+ // line 547 "Parser.rl"
1175
+
1176
+ if (cs < JSON_float_first_final) {
1177
+ return -1;
1178
+ }
1179
+
1180
+ return p;
1181
+ }
1182
+
1183
+ RubyFloat createFloat(int p, int new_p) {
1184
+ Ruby runtime = getRuntime();
1185
+ ByteList num = absSubSequence(p, new_p);
1186
+ return RubyFloat.newFloat(runtime, dc.parse(num, true, runtime.is1_9()));
1187
+ }
1188
+
1189
+ IRubyObject createCustomDecimal(int p, int new_p) {
1190
+ Ruby runtime = getRuntime();
1191
+ ByteList num = absSubSequence(p, new_p);
1192
+ IRubyObject numString = runtime.newString(num.toString());
1193
+ return parser.decimalClass.callMethod(context, "new", numString);
1194
+ }
1195
+
1196
+
1197
+ // line 1198 "Parser.java"
1198
+ private static byte[] init__JSON_string_actions_0()
1199
+ {
1200
+ return new byte [] {
1201
+ 0, 2, 0, 1
1202
+ };
1203
+ }
1204
+
1205
+ private static final byte _JSON_string_actions[] = init__JSON_string_actions_0();
1206
+
1207
+
1208
+ private static byte[] init__JSON_string_key_offsets_0()
1209
+ {
1210
+ return new byte [] {
1211
+ 0, 0, 1, 5, 8, 14, 20, 26, 32
1212
+ };
1213
+ }
1214
+
1215
+ private static final byte _JSON_string_key_offsets[] = init__JSON_string_key_offsets_0();
1216
+
1217
+
1218
+ private static char[] init__JSON_string_trans_keys_0()
1219
+ {
1220
+ return new char [] {
1221
+ 34, 34, 92, 0, 31, 117, 0, 31, 48, 57, 65, 70,
1222
+ 97, 102, 48, 57, 65, 70, 97, 102, 48, 57, 65, 70,
1223
+ 97, 102, 48, 57, 65, 70, 97, 102, 0
1224
+ };
1225
+ }
1226
+
1227
+ private static final char _JSON_string_trans_keys[] = init__JSON_string_trans_keys_0();
1228
+
1229
+
1230
+ private static byte[] init__JSON_string_single_lengths_0()
1231
+ {
1232
+ return new byte [] {
1233
+ 0, 1, 2, 1, 0, 0, 0, 0, 0
1234
+ };
1235
+ }
1236
+
1237
+ private static final byte _JSON_string_single_lengths[] = init__JSON_string_single_lengths_0();
1238
+
1239
+
1240
+ private static byte[] init__JSON_string_range_lengths_0()
1241
+ {
1242
+ return new byte [] {
1243
+ 0, 0, 1, 1, 3, 3, 3, 3, 0
1244
+ };
1245
+ }
1246
+
1247
+ private static final byte _JSON_string_range_lengths[] = init__JSON_string_range_lengths_0();
1248
+
1249
+
1250
+ private static byte[] init__JSON_string_index_offsets_0()
1251
+ {
1252
+ return new byte [] {
1253
+ 0, 0, 2, 6, 9, 13, 17, 21, 25
1254
+ };
1255
+ }
1256
+
1257
+ private static final byte _JSON_string_index_offsets[] = init__JSON_string_index_offsets_0();
1258
+
1259
+
1260
+ private static byte[] init__JSON_string_indicies_0()
1261
+ {
1262
+ return new byte [] {
1263
+ 0, 1, 2, 3, 1, 0, 4, 1, 0, 5, 5, 5,
1264
+ 1, 6, 6, 6, 1, 7, 7, 7, 1, 0, 0, 0,
1265
+ 1, 1, 0
1266
+ };
1267
+ }
1268
+
1269
+ private static final byte _JSON_string_indicies[] = init__JSON_string_indicies_0();
1270
+
1271
+
1272
+ private static byte[] init__JSON_string_trans_targs_0()
1273
+ {
1274
+ return new byte [] {
1275
+ 2, 0, 8, 3, 4, 5, 6, 7
1276
+ };
1277
+ }
1278
+
1279
+ private static final byte _JSON_string_trans_targs[] = init__JSON_string_trans_targs_0();
1280
+
1281
+
1282
+ private static byte[] init__JSON_string_trans_actions_0()
1283
+ {
1284
+ return new byte [] {
1285
+ 0, 0, 1, 0, 0, 0, 0, 0
1286
+ };
1287
+ }
1288
+
1289
+ private static final byte _JSON_string_trans_actions[] = init__JSON_string_trans_actions_0();
1290
+
1291
+
1292
+ static final int JSON_string_start = 1;
1293
+ static final int JSON_string_first_final = 8;
1294
+ static final int JSON_string_error = 0;
1295
+
1296
+ static final int JSON_string_en_main = 1;
1297
+
1298
+
1299
+ // line 599 "Parser.rl"
1300
+
1301
+
1302
+ void parseString(ParserResult res, int p, int pe) {
1303
+ int cs = EVIL;
1304
+ IRubyObject result = null;
1305
+
1306
+
1307
+ // line 1308 "Parser.java"
1308
+ {
1309
+ cs = JSON_string_start;
1310
+ }
1311
+
1312
+ // line 606 "Parser.rl"
1313
+ int memo = p;
1314
+
1315
+ // line 1316 "Parser.java"
1316
+ {
1317
+ int _klen;
1318
+ int _trans = 0;
1319
+ int _acts;
1320
+ int _nacts;
1321
+ int _keys;
1322
+ int _goto_targ = 0;
1323
+
1324
+ _goto: while (true) {
1325
+ switch ( _goto_targ ) {
1326
+ case 0:
1327
+ if ( p == pe ) {
1328
+ _goto_targ = 4;
1329
+ continue _goto;
1330
+ }
1331
+ if ( cs == 0 ) {
1332
+ _goto_targ = 5;
1333
+ continue _goto;
1334
+ }
1335
+ case 1:
1336
+ _match: do {
1337
+ _keys = _JSON_string_key_offsets[cs];
1338
+ _trans = _JSON_string_index_offsets[cs];
1339
+ _klen = _JSON_string_single_lengths[cs];
1340
+ if ( _klen > 0 ) {
1341
+ int _lower = _keys;
1342
+ int _mid;
1343
+ int _upper = _keys + _klen - 1;
1344
+ while (true) {
1345
+ if ( _upper < _lower )
1346
+ break;
1347
+
1348
+ _mid = _lower + ((_upper-_lower) >> 1);
1349
+ if ( data[p] < _JSON_string_trans_keys[_mid] )
1350
+ _upper = _mid - 1;
1351
+ else if ( data[p] > _JSON_string_trans_keys[_mid] )
1352
+ _lower = _mid + 1;
1353
+ else {
1354
+ _trans += (_mid - _keys);
1355
+ break _match;
1356
+ }
1357
+ }
1358
+ _keys += _klen;
1359
+ _trans += _klen;
1360
+ }
1361
+
1362
+ _klen = _JSON_string_range_lengths[cs];
1363
+ if ( _klen > 0 ) {
1364
+ int _lower = _keys;
1365
+ int _mid;
1366
+ int _upper = _keys + (_klen<<1) - 2;
1367
+ while (true) {
1368
+ if ( _upper < _lower )
1369
+ break;
1370
+
1371
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
1372
+ if ( data[p] < _JSON_string_trans_keys[_mid] )
1373
+ _upper = _mid - 2;
1374
+ else if ( data[p] > _JSON_string_trans_keys[_mid+1] )
1375
+ _lower = _mid + 2;
1376
+ else {
1377
+ _trans += ((_mid - _keys)>>1);
1378
+ break _match;
1379
+ }
1380
+ }
1381
+ _trans += _klen;
1382
+ }
1383
+ } while (false);
1384
+
1385
+ _trans = _JSON_string_indicies[_trans];
1386
+ cs = _JSON_string_trans_targs[_trans];
1387
+
1388
+ if ( _JSON_string_trans_actions[_trans] != 0 ) {
1389
+ _acts = _JSON_string_trans_actions[_trans];
1390
+ _nacts = (int) _JSON_string_actions[_acts++];
1391
+ while ( _nacts-- > 0 )
1392
+ {
1393
+ switch ( _JSON_string_actions[_acts++] )
1394
+ {
1395
+ case 0:
1396
+ // line 574 "Parser.rl"
1397
+ {
1398
+ int offset = byteList.begin();
1399
+ ByteList decoded = decoder.decode(byteList, memo + 1 - offset,
1400
+ p - offset);
1401
+ result = getRuntime().newString(decoded);
1402
+ if (result == null) {
1403
+ p--;
1404
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
1405
+ } else {
1406
+ {p = (( p + 1))-1;}
1407
+ }
1408
+ }
1409
+ break;
1410
+ case 1:
1411
+ // line 587 "Parser.rl"
1412
+ {
1413
+ p--;
1414
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
1415
+ }
1416
+ break;
1417
+ // line 1418 "Parser.java"
1418
+ }
1419
+ }
1420
+ }
1421
+
1422
+ case 2:
1423
+ if ( cs == 0 ) {
1424
+ _goto_targ = 5;
1425
+ continue _goto;
1426
+ }
1427
+ if ( ++p != pe ) {
1428
+ _goto_targ = 1;
1429
+ continue _goto;
1430
+ }
1431
+ case 4:
1432
+ case 5:
1433
+ }
1434
+ break; }
1435
+ }
1436
+
1437
+ // line 608 "Parser.rl"
1438
+
1439
+ if (parser.createAdditions) {
1440
+ RubyHash matchString = parser.match_string;
1441
+ if (matchString != null) {
1442
+ final IRubyObject[] memoArray = { result, null };
1443
+ try {
1444
+ matchString.visitAll(new RubyHash.Visitor() {
1445
+ @Override
1446
+ public void visit(IRubyObject pattern, IRubyObject klass) {
1447
+ if (pattern.callMethod(context, "===", memoArray[0]).isTrue()) {
1448
+ memoArray[1] = klass;
1449
+ throw JumpException.SPECIAL_JUMP;
1450
+ }
1451
+ }
1452
+ });
1453
+ } catch (JumpException e) { }
1454
+ if (memoArray[1] != null) {
1455
+ RubyClass klass = (RubyClass) memoArray[1];
1456
+ if (klass.respondsTo("json_creatable?") &&
1457
+ klass.callMethod(context, "json_creatable?").isTrue()) {
1458
+ result = klass.callMethod(context, "json_create", result);
1459
+ }
1460
+ }
1461
+ }
1462
+ }
1463
+
1464
+ if (cs >= JSON_string_first_final && result != null) {
1465
+ if (result instanceof RubyString) {
1466
+ ((RubyString)result).force_encoding(context, info.utf8.get());
1467
+ }
1468
+ res.update(result, p + 1);
1469
+ } else {
1470
+ res.update(null, p + 1);
1471
+ }
1472
+ }
1473
+
1474
+
1475
+ // line 1476 "Parser.java"
1476
+ private static byte[] init__JSON_array_actions_0()
1477
+ {
1478
+ return new byte [] {
1479
+ 0, 1, 0, 1, 1
1480
+ };
1481
+ }
1482
+
1483
+ private static final byte _JSON_array_actions[] = init__JSON_array_actions_0();
1484
+
1485
+
1486
+ private static byte[] init__JSON_array_key_offsets_0()
1487
+ {
1488
+ return new byte [] {
1489
+ 0, 0, 1, 18, 25, 41, 43, 44, 46, 47, 49, 50,
1490
+ 52, 53, 55, 56, 58, 59
1491
+ };
1492
+ }
1493
+
1494
+ private static final byte _JSON_array_key_offsets[] = init__JSON_array_key_offsets_0();
1495
+
1496
+
1497
+ private static char[] init__JSON_array_trans_keys_0()
1498
+ {
1499
+ return new char [] {
1500
+ 91, 13, 32, 34, 45, 47, 73, 78, 91, 93, 102, 110,
1501
+ 116, 123, 9, 10, 48, 57, 13, 32, 44, 47, 93, 9,
1502
+ 10, 13, 32, 34, 45, 47, 73, 78, 91, 102, 110, 116,
1503
+ 123, 9, 10, 48, 57, 42, 47, 42, 42, 47, 10, 42,
1504
+ 47, 42, 42, 47, 10, 42, 47, 42, 42, 47, 10, 0
1505
+ };
1506
+ }
1507
+
1508
+ private static final char _JSON_array_trans_keys[] = init__JSON_array_trans_keys_0();
1509
+
1510
+
1511
+ private static byte[] init__JSON_array_single_lengths_0()
1512
+ {
1513
+ return new byte [] {
1514
+ 0, 1, 13, 5, 12, 2, 1, 2, 1, 2, 1, 2,
1515
+ 1, 2, 1, 2, 1, 0
1516
+ };
1517
+ }
1518
+
1519
+ private static final byte _JSON_array_single_lengths[] = init__JSON_array_single_lengths_0();
1520
+
1521
+
1522
+ private static byte[] init__JSON_array_range_lengths_0()
1523
+ {
1524
+ return new byte [] {
1525
+ 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0,
1526
+ 0, 0, 0, 0, 0, 0
1527
+ };
1528
+ }
1529
+
1530
+ private static final byte _JSON_array_range_lengths[] = init__JSON_array_range_lengths_0();
1531
+
1532
+
1533
+ private static byte[] init__JSON_array_index_offsets_0()
1534
+ {
1535
+ return new byte [] {
1536
+ 0, 0, 2, 18, 25, 40, 43, 45, 48, 50, 53, 55,
1537
+ 58, 60, 63, 65, 68, 70
1538
+ };
1539
+ }
1540
+
1541
+ private static final byte _JSON_array_index_offsets[] = init__JSON_array_index_offsets_0();
1542
+
1543
+
1544
+ private static byte[] init__JSON_array_indicies_0()
1545
+ {
1546
+ return new byte [] {
1547
+ 0, 1, 0, 0, 2, 2, 3, 2, 2, 2, 4, 2,
1548
+ 2, 2, 2, 0, 2, 1, 5, 5, 6, 7, 4, 5,
1549
+ 1, 6, 6, 2, 2, 8, 2, 2, 2, 2, 2, 2,
1550
+ 2, 6, 2, 1, 9, 10, 1, 11, 9, 11, 6, 9,
1551
+ 6, 10, 12, 13, 1, 14, 12, 14, 5, 12, 5, 13,
1552
+ 15, 16, 1, 17, 15, 17, 0, 15, 0, 16, 1, 0
1553
+ };
1554
+ }
1555
+
1556
+ private static final byte _JSON_array_indicies[] = init__JSON_array_indicies_0();
1557
+
1558
+
1559
+ private static byte[] init__JSON_array_trans_targs_0()
1560
+ {
1561
+ return new byte [] {
1562
+ 2, 0, 3, 13, 17, 3, 4, 9, 5, 6, 8, 7,
1563
+ 10, 12, 11, 14, 16, 15
1564
+ };
1565
+ }
1566
+
1567
+ private static final byte _JSON_array_trans_targs[] = init__JSON_array_trans_targs_0();
1568
+
1569
+
1570
+ private static byte[] init__JSON_array_trans_actions_0()
1571
+ {
1572
+ return new byte [] {
1573
+ 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0,
1574
+ 0, 0, 0, 0, 0, 0
1575
+ };
1576
+ }
1577
+
1578
+ private static final byte _JSON_array_trans_actions[] = init__JSON_array_trans_actions_0();
1579
+
1580
+
1581
+ static final int JSON_array_start = 1;
1582
+ static final int JSON_array_first_final = 17;
1583
+ static final int JSON_array_error = 0;
1584
+
1585
+ static final int JSON_array_en_main = 1;
1586
+
1587
+
1588
+ // line 681 "Parser.rl"
1589
+
1590
+
1591
+ void parseArray(ParserResult res, int p, int pe) {
1592
+ int cs = EVIL;
1593
+
1594
+ if (parser.maxNesting > 0 && currentNesting > parser.maxNesting) {
1595
+ throw newException(Utils.M_NESTING_ERROR,
1596
+ "nesting of " + currentNesting + " is too deep");
1597
+ }
1598
+
1599
+ IRubyObject result;
1600
+ if (parser.arrayClass == getRuntime().getArray()) {
1601
+ result = RubyArray.newArray(getRuntime());
1602
+ } else {
1603
+ result = parser.arrayClass.newInstance(context,
1604
+ IRubyObject.NULL_ARRAY, Block.NULL_BLOCK);
1605
+ }
1606
+
1607
+
1608
+ // line 1609 "Parser.java"
1609
+ {
1610
+ cs = JSON_array_start;
1611
+ }
1612
+
1613
+ // line 700 "Parser.rl"
1614
+
1615
+ // line 1616 "Parser.java"
1616
+ {
1617
+ int _klen;
1618
+ int _trans = 0;
1619
+ int _acts;
1620
+ int _nacts;
1621
+ int _keys;
1622
+ int _goto_targ = 0;
1623
+
1624
+ _goto: while (true) {
1625
+ switch ( _goto_targ ) {
1626
+ case 0:
1627
+ if ( p == pe ) {
1628
+ _goto_targ = 4;
1629
+ continue _goto;
1630
+ }
1631
+ if ( cs == 0 ) {
1632
+ _goto_targ = 5;
1633
+ continue _goto;
1634
+ }
1635
+ case 1:
1636
+ _match: do {
1637
+ _keys = _JSON_array_key_offsets[cs];
1638
+ _trans = _JSON_array_index_offsets[cs];
1639
+ _klen = _JSON_array_single_lengths[cs];
1640
+ if ( _klen > 0 ) {
1641
+ int _lower = _keys;
1642
+ int _mid;
1643
+ int _upper = _keys + _klen - 1;
1644
+ while (true) {
1645
+ if ( _upper < _lower )
1646
+ break;
1647
+
1648
+ _mid = _lower + ((_upper-_lower) >> 1);
1649
+ if ( data[p] < _JSON_array_trans_keys[_mid] )
1650
+ _upper = _mid - 1;
1651
+ else if ( data[p] > _JSON_array_trans_keys[_mid] )
1652
+ _lower = _mid + 1;
1653
+ else {
1654
+ _trans += (_mid - _keys);
1655
+ break _match;
1656
+ }
1657
+ }
1658
+ _keys += _klen;
1659
+ _trans += _klen;
1660
+ }
1661
+
1662
+ _klen = _JSON_array_range_lengths[cs];
1663
+ if ( _klen > 0 ) {
1664
+ int _lower = _keys;
1665
+ int _mid;
1666
+ int _upper = _keys + (_klen<<1) - 2;
1667
+ while (true) {
1668
+ if ( _upper < _lower )
1669
+ break;
1670
+
1671
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
1672
+ if ( data[p] < _JSON_array_trans_keys[_mid] )
1673
+ _upper = _mid - 2;
1674
+ else if ( data[p] > _JSON_array_trans_keys[_mid+1] )
1675
+ _lower = _mid + 2;
1676
+ else {
1677
+ _trans += ((_mid - _keys)>>1);
1678
+ break _match;
1679
+ }
1680
+ }
1681
+ _trans += _klen;
1682
+ }
1683
+ } while (false);
1684
+
1685
+ _trans = _JSON_array_indicies[_trans];
1686
+ cs = _JSON_array_trans_targs[_trans];
1687
+
1688
+ if ( _JSON_array_trans_actions[_trans] != 0 ) {
1689
+ _acts = _JSON_array_trans_actions[_trans];
1690
+ _nacts = (int) _JSON_array_actions[_acts++];
1691
+ while ( _nacts-- > 0 )
1692
+ {
1693
+ switch ( _JSON_array_actions[_acts++] )
1694
+ {
1695
+ case 0:
1696
+ // line 650 "Parser.rl"
1697
+ {
1698
+ parseValue(res, p, pe);
1699
+ if (res.result == null) {
1700
+ p--;
1701
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
1702
+ } else {
1703
+ if (parser.arrayClass == getRuntime().getArray()) {
1704
+ ((RubyArray)result).append(res.result);
1705
+ } else {
1706
+ result.callMethod(context, "<<", res.result);
1707
+ }
1708
+ {p = (( res.p))-1;}
1709
+ }
1710
+ }
1711
+ break;
1712
+ case 1:
1713
+ // line 665 "Parser.rl"
1714
+ {
1715
+ p--;
1716
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
1717
+ }
1718
+ break;
1719
+ // line 1720 "Parser.java"
1720
+ }
1721
+ }
1722
+ }
1723
+
1724
+ case 2:
1725
+ if ( cs == 0 ) {
1726
+ _goto_targ = 5;
1727
+ continue _goto;
1728
+ }
1729
+ if ( ++p != pe ) {
1730
+ _goto_targ = 1;
1731
+ continue _goto;
1732
+ }
1733
+ case 4:
1734
+ case 5:
1735
+ }
1736
+ break; }
1737
+ }
1738
+
1739
+ // line 701 "Parser.rl"
1740
+
1741
+ if (cs >= JSON_array_first_final) {
1742
+ res.update(result, p + 1);
1743
+ } else {
1744
+ throw unexpectedToken(p, pe);
1745
+ }
1746
+ }
1747
+
1748
+
1749
+ // line 1750 "Parser.java"
1750
+ private static byte[] init__JSON_object_actions_0()
1751
+ {
1752
+ return new byte [] {
1753
+ 0, 1, 0, 1, 1, 1, 2
1754
+ };
1755
+ }
1756
+
1757
+ private static final byte _JSON_object_actions[] = init__JSON_object_actions_0();
1758
+
1759
+
1760
+ private static byte[] init__JSON_object_key_offsets_0()
1761
+ {
1762
+ return new byte [] {
1763
+ 0, 0, 1, 8, 14, 16, 17, 19, 20, 36, 43, 49,
1764
+ 51, 52, 54, 55, 57, 58, 60, 61, 63, 64, 66, 67,
1765
+ 69, 70, 72, 73
1766
+ };
1767
+ }
1768
+
1769
+ private static final byte _JSON_object_key_offsets[] = init__JSON_object_key_offsets_0();
1770
+
1771
+
1772
+ private static char[] init__JSON_object_trans_keys_0()
1773
+ {
1774
+ return new char [] {
1775
+ 123, 13, 32, 34, 47, 125, 9, 10, 13, 32, 47, 58,
1776
+ 9, 10, 42, 47, 42, 42, 47, 10, 13, 32, 34, 45,
1777
+ 47, 73, 78, 91, 102, 110, 116, 123, 9, 10, 48, 57,
1778
+ 13, 32, 44, 47, 125, 9, 10, 13, 32, 34, 47, 9,
1779
+ 10, 42, 47, 42, 42, 47, 10, 42, 47, 42, 42, 47,
1780
+ 10, 42, 47, 42, 42, 47, 10, 42, 47, 42, 42, 47,
1781
+ 10, 0
1782
+ };
1783
+ }
1784
+
1785
+ private static final char _JSON_object_trans_keys[] = init__JSON_object_trans_keys_0();
1786
+
1787
+
1788
+ private static byte[] init__JSON_object_single_lengths_0()
1789
+ {
1790
+ return new byte [] {
1791
+ 0, 1, 5, 4, 2, 1, 2, 1, 12, 5, 4, 2,
1792
+ 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
1793
+ 1, 2, 1, 0
1794
+ };
1795
+ }
1796
+
1797
+ private static final byte _JSON_object_single_lengths[] = init__JSON_object_single_lengths_0();
1798
+
1799
+
1800
+ private static byte[] init__JSON_object_range_lengths_0()
1801
+ {
1802
+ return new byte [] {
1803
+ 0, 0, 1, 1, 0, 0, 0, 0, 2, 1, 1, 0,
1804
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805
+ 0, 0, 0, 0
1806
+ };
1807
+ }
1808
+
1809
+ private static final byte _JSON_object_range_lengths[] = init__JSON_object_range_lengths_0();
1810
+
1811
+
1812
+ private static byte[] init__JSON_object_index_offsets_0()
1813
+ {
1814
+ return new byte [] {
1815
+ 0, 0, 2, 9, 15, 18, 20, 23, 25, 40, 47, 53,
1816
+ 56, 58, 61, 63, 66, 68, 71, 73, 76, 78, 81, 83,
1817
+ 86, 88, 91, 93
1818
+ };
1819
+ }
1820
+
1821
+ private static final byte _JSON_object_index_offsets[] = init__JSON_object_index_offsets_0();
1822
+
1823
+
1824
+ private static byte[] init__JSON_object_indicies_0()
1825
+ {
1826
+ return new byte [] {
1827
+ 0, 1, 0, 0, 2, 3, 4, 0, 1, 5, 5, 6,
1828
+ 7, 5, 1, 8, 9, 1, 10, 8, 10, 5, 8, 5,
1829
+ 9, 7, 7, 11, 11, 12, 11, 11, 11, 11, 11, 11,
1830
+ 11, 7, 11, 1, 13, 13, 14, 15, 4, 13, 1, 14,
1831
+ 14, 2, 16, 14, 1, 17, 18, 1, 19, 17, 19, 14,
1832
+ 17, 14, 18, 20, 21, 1, 22, 20, 22, 13, 20, 13,
1833
+ 21, 23, 24, 1, 25, 23, 25, 7, 23, 7, 24, 26,
1834
+ 27, 1, 28, 26, 28, 0, 26, 0, 27, 1, 0
1835
+ };
1836
+ }
1837
+
1838
+ private static final byte _JSON_object_indicies[] = init__JSON_object_indicies_0();
1839
+
1840
+
1841
+ private static byte[] init__JSON_object_trans_targs_0()
1842
+ {
1843
+ return new byte [] {
1844
+ 2, 0, 3, 23, 27, 3, 4, 8, 5, 7, 6, 9,
1845
+ 19, 9, 10, 15, 11, 12, 14, 13, 16, 18, 17, 20,
1846
+ 22, 21, 24, 26, 25
1847
+ };
1848
+ }
1849
+
1850
+ private static final byte _JSON_object_trans_targs[] = init__JSON_object_trans_targs_0();
1851
+
1852
+
1853
+ private static byte[] init__JSON_object_trans_actions_0()
1854
+ {
1855
+ return new byte [] {
1856
+ 0, 0, 3, 0, 5, 0, 0, 0, 0, 0, 0, 1,
1857
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858
+ 0, 0, 0, 0, 0
1859
+ };
1860
+ }
1861
+
1862
+ private static final byte _JSON_object_trans_actions[] = init__JSON_object_trans_actions_0();
1863
+
1864
+
1865
+ static final int JSON_object_start = 1;
1866
+ static final int JSON_object_first_final = 27;
1867
+ static final int JSON_object_error = 0;
1868
+
1869
+ static final int JSON_object_en_main = 1;
1870
+
1871
+
1872
+ // line 760 "Parser.rl"
1873
+
1874
+
1875
+ void parseObject(ParserResult res, int p, int pe) {
1876
+ int cs = EVIL;
1877
+ IRubyObject lastName = null;
1878
+ boolean objectDefault = true;
1879
+
1880
+ if (parser.maxNesting > 0 && currentNesting > parser.maxNesting) {
1881
+ throw newException(Utils.M_NESTING_ERROR,
1882
+ "nesting of " + currentNesting + " is too deep");
1883
+ }
1884
+
1885
+ // this is guaranteed to be a RubyHash due to the earlier
1886
+ // allocator test at OptionsReader#getClass
1887
+ IRubyObject result;
1888
+ if (parser.objectClass == getRuntime().getHash()) {
1889
+ result = RubyHash.newHash(getRuntime());
1890
+ } else {
1891
+ objectDefault = false;
1892
+ result = parser.objectClass.newInstance(context,
1893
+ IRubyObject.NULL_ARRAY, Block.NULL_BLOCK);
1894
+ }
1895
+
1896
+
1897
+ // line 1898 "Parser.java"
1898
+ {
1899
+ cs = JSON_object_start;
1900
+ }
1901
+
1902
+ // line 784 "Parser.rl"
1903
+
1904
+ // line 1905 "Parser.java"
1905
+ {
1906
+ int _klen;
1907
+ int _trans = 0;
1908
+ int _acts;
1909
+ int _nacts;
1910
+ int _keys;
1911
+ int _goto_targ = 0;
1912
+
1913
+ _goto: while (true) {
1914
+ switch ( _goto_targ ) {
1915
+ case 0:
1916
+ if ( p == pe ) {
1917
+ _goto_targ = 4;
1918
+ continue _goto;
1919
+ }
1920
+ if ( cs == 0 ) {
1921
+ _goto_targ = 5;
1922
+ continue _goto;
1923
+ }
1924
+ case 1:
1925
+ _match: do {
1926
+ _keys = _JSON_object_key_offsets[cs];
1927
+ _trans = _JSON_object_index_offsets[cs];
1928
+ _klen = _JSON_object_single_lengths[cs];
1929
+ if ( _klen > 0 ) {
1930
+ int _lower = _keys;
1931
+ int _mid;
1932
+ int _upper = _keys + _klen - 1;
1933
+ while (true) {
1934
+ if ( _upper < _lower )
1935
+ break;
1936
+
1937
+ _mid = _lower + ((_upper-_lower) >> 1);
1938
+ if ( data[p] < _JSON_object_trans_keys[_mid] )
1939
+ _upper = _mid - 1;
1940
+ else if ( data[p] > _JSON_object_trans_keys[_mid] )
1941
+ _lower = _mid + 1;
1942
+ else {
1943
+ _trans += (_mid - _keys);
1944
+ break _match;
1945
+ }
1946
+ }
1947
+ _keys += _klen;
1948
+ _trans += _klen;
1949
+ }
1950
+
1951
+ _klen = _JSON_object_range_lengths[cs];
1952
+ if ( _klen > 0 ) {
1953
+ int _lower = _keys;
1954
+ int _mid;
1955
+ int _upper = _keys + (_klen<<1) - 2;
1956
+ while (true) {
1957
+ if ( _upper < _lower )
1958
+ break;
1959
+
1960
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
1961
+ if ( data[p] < _JSON_object_trans_keys[_mid] )
1962
+ _upper = _mid - 2;
1963
+ else if ( data[p] > _JSON_object_trans_keys[_mid+1] )
1964
+ _lower = _mid + 2;
1965
+ else {
1966
+ _trans += ((_mid - _keys)>>1);
1967
+ break _match;
1968
+ }
1969
+ }
1970
+ _trans += _klen;
1971
+ }
1972
+ } while (false);
1973
+
1974
+ _trans = _JSON_object_indicies[_trans];
1975
+ cs = _JSON_object_trans_targs[_trans];
1976
+
1977
+ if ( _JSON_object_trans_actions[_trans] != 0 ) {
1978
+ _acts = _JSON_object_trans_actions[_trans];
1979
+ _nacts = (int) _JSON_object_actions[_acts++];
1980
+ while ( _nacts-- > 0 )
1981
+ {
1982
+ switch ( _JSON_object_actions[_acts++] )
1983
+ {
1984
+ case 0:
1985
+ // line 715 "Parser.rl"
1986
+ {
1987
+ parseValue(res, p, pe);
1988
+ if (res.result == null) {
1989
+ p--;
1990
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
1991
+ } else {
1992
+ if (parser.objectClass == getRuntime().getHash()) {
1993
+ ((RubyHash)result).op_aset(context, lastName, res.result);
1994
+ } else {
1995
+ result.callMethod(context, "[]=", new IRubyObject[] { lastName, res.result });
1996
+ }
1997
+ {p = (( res.p))-1;}
1998
+ }
1999
+ }
2000
+ break;
2001
+ case 1:
2002
+ // line 730 "Parser.rl"
2003
+ {
2004
+ parseString(res, p, pe);
2005
+ if (res.result == null) {
2006
+ p--;
2007
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
2008
+ } else {
2009
+ RubyString name = (RubyString)res.result;
2010
+ if (parser.symbolizeNames) {
2011
+ lastName = context.getRuntime().is1_9()
2012
+ ? name.intern19()
2013
+ : name.intern();
2014
+ } else {
2015
+ lastName = name;
2016
+ }
2017
+ {p = (( res.p))-1;}
2018
+ }
2019
+ }
2020
+ break;
2021
+ case 2:
2022
+ // line 748 "Parser.rl"
2023
+ {
2024
+ p--;
2025
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
2026
+ }
2027
+ break;
2028
+ // line 2029 "Parser.java"
2029
+ }
2030
+ }
2031
+ }
2032
+
2033
+ case 2:
2034
+ if ( cs == 0 ) {
2035
+ _goto_targ = 5;
2036
+ continue _goto;
2037
+ }
2038
+ if ( ++p != pe ) {
2039
+ _goto_targ = 1;
2040
+ continue _goto;
2041
+ }
2042
+ case 4:
2043
+ case 5:
2044
+ }
2045
+ break; }
2046
+ }
2047
+
2048
+ // line 785 "Parser.rl"
2049
+
2050
+ if (cs < JSON_object_first_final) {
2051
+ res.update(null, p + 1);
2052
+ return;
2053
+ }
2054
+
2055
+ IRubyObject returnedResult = result;
2056
+
2057
+ // attempt to de-serialize object
2058
+ if (parser.createAdditions) {
2059
+ IRubyObject vKlassName;
2060
+ if (objectDefault) {
2061
+ vKlassName = ((RubyHash)result).op_aref(context, parser.createId);
2062
+ } else {
2063
+ vKlassName = result.callMethod(context, "[]", parser.createId);
2064
+ }
2065
+
2066
+ if (!vKlassName.isNil()) {
2067
+ // might throw ArgumentError, we let it propagate
2068
+ IRubyObject klass = parser.info.jsonModule.get().
2069
+ callMethod(context, "deep_const_get", vKlassName);
2070
+ if (klass.respondsTo("json_creatable?") &&
2071
+ klass.callMethod(context, "json_creatable?").isTrue()) {
2072
+
2073
+ returnedResult = klass.callMethod(context, "json_create", result);
2074
+ }
2075
+ }
2076
+ }
2077
+ res.update(returnedResult, p + 1);
2078
+ }
2079
+
2080
+
2081
+ // line 2082 "Parser.java"
2082
+ private static byte[] init__JSON_actions_0()
2083
+ {
2084
+ return new byte [] {
2085
+ 0, 1, 0
2086
+ };
2087
+ }
2088
+
2089
+ private static final byte _JSON_actions[] = init__JSON_actions_0();
2090
+
2091
+
2092
+ private static byte[] init__JSON_key_offsets_0()
2093
+ {
2094
+ return new byte [] {
2095
+ 0, 0, 16, 18, 19, 21, 22, 24, 25, 27, 28
2096
+ };
2097
+ }
2098
+
2099
+ private static final byte _JSON_key_offsets[] = init__JSON_key_offsets_0();
2100
+
2101
+
2102
+ private static char[] init__JSON_trans_keys_0()
2103
+ {
2104
+ return new char [] {
2105
+ 13, 32, 34, 45, 47, 73, 78, 91, 102, 110, 116, 123,
2106
+ 9, 10, 48, 57, 42, 47, 42, 42, 47, 10, 42, 47,
2107
+ 42, 42, 47, 10, 13, 32, 47, 9, 10, 0
2108
+ };
2109
+ }
2110
+
2111
+ private static final char _JSON_trans_keys[] = init__JSON_trans_keys_0();
2112
+
2113
+
2114
+ private static byte[] init__JSON_single_lengths_0()
2115
+ {
2116
+ return new byte [] {
2117
+ 0, 12, 2, 1, 2, 1, 2, 1, 2, 1, 3
2118
+ };
2119
+ }
2120
+
2121
+ private static final byte _JSON_single_lengths[] = init__JSON_single_lengths_0();
2122
+
2123
+
2124
+ private static byte[] init__JSON_range_lengths_0()
2125
+ {
2126
+ return new byte [] {
2127
+ 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1
2128
+ };
2129
+ }
2130
+
2131
+ private static final byte _JSON_range_lengths[] = init__JSON_range_lengths_0();
2132
+
2133
+
2134
+ private static byte[] init__JSON_index_offsets_0()
2135
+ {
2136
+ return new byte [] {
2137
+ 0, 0, 15, 18, 20, 23, 25, 28, 30, 33, 35
2138
+ };
2139
+ }
2140
+
2141
+ private static final byte _JSON_index_offsets[] = init__JSON_index_offsets_0();
2142
+
2143
+
2144
+ private static byte[] init__JSON_indicies_0()
2145
+ {
2146
+ return new byte [] {
2147
+ 0, 0, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2,
2148
+ 0, 2, 1, 4, 5, 1, 6, 4, 6, 7, 4, 7,
2149
+ 5, 8, 9, 1, 10, 8, 10, 0, 8, 0, 9, 7,
2150
+ 7, 11, 7, 1, 0
2151
+ };
2152
+ }
2153
+
2154
+ private static final byte _JSON_indicies[] = init__JSON_indicies_0();
2155
+
2156
+
2157
+ private static byte[] init__JSON_trans_targs_0()
2158
+ {
2159
+ return new byte [] {
2160
+ 1, 0, 10, 6, 3, 5, 4, 10, 7, 9, 8, 2
2161
+ };
2162
+ }
2163
+
2164
+ private static final byte _JSON_trans_targs[] = init__JSON_trans_targs_0();
2165
+
2166
+
2167
+ private static byte[] init__JSON_trans_actions_0()
2168
+ {
2169
+ return new byte [] {
2170
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
2171
+ };
2172
+ }
2173
+
2174
+ private static final byte _JSON_trans_actions[] = init__JSON_trans_actions_0();
2175
+
2176
+
2177
+ static final int JSON_start = 1;
2178
+ static final int JSON_first_final = 10;
2179
+ static final int JSON_error = 0;
2180
+
2181
+ static final int JSON_en_main = 1;
2182
+
2183
+
2184
+ // line 836 "Parser.rl"
2185
+
2186
+
2187
+ public IRubyObject parseImplemetation() {
2188
+ int cs = EVIL;
2189
+ int p, pe;
2190
+ IRubyObject result = null;
2191
+ ParserResult res = new ParserResult();
2192
+
2193
+
2194
+ // line 2195 "Parser.java"
2195
+ {
2196
+ cs = JSON_start;
2197
+ }
2198
+
2199
+ // line 845 "Parser.rl"
2200
+ p = byteList.begin();
2201
+ pe = p + byteList.length();
2202
+
2203
+ // line 2204 "Parser.java"
2204
+ {
2205
+ int _klen;
2206
+ int _trans = 0;
2207
+ int _acts;
2208
+ int _nacts;
2209
+ int _keys;
2210
+ int _goto_targ = 0;
2211
+
2212
+ _goto: while (true) {
2213
+ switch ( _goto_targ ) {
2214
+ case 0:
2215
+ if ( p == pe ) {
2216
+ _goto_targ = 4;
2217
+ continue _goto;
2218
+ }
2219
+ if ( cs == 0 ) {
2220
+ _goto_targ = 5;
2221
+ continue _goto;
2222
+ }
2223
+ case 1:
2224
+ _match: do {
2225
+ _keys = _JSON_key_offsets[cs];
2226
+ _trans = _JSON_index_offsets[cs];
2227
+ _klen = _JSON_single_lengths[cs];
2228
+ if ( _klen > 0 ) {
2229
+ int _lower = _keys;
2230
+ int _mid;
2231
+ int _upper = _keys + _klen - 1;
2232
+ while (true) {
2233
+ if ( _upper < _lower )
2234
+ break;
2235
+
2236
+ _mid = _lower + ((_upper-_lower) >> 1);
2237
+ if ( data[p] < _JSON_trans_keys[_mid] )
2238
+ _upper = _mid - 1;
2239
+ else if ( data[p] > _JSON_trans_keys[_mid] )
2240
+ _lower = _mid + 1;
2241
+ else {
2242
+ _trans += (_mid - _keys);
2243
+ break _match;
2244
+ }
2245
+ }
2246
+ _keys += _klen;
2247
+ _trans += _klen;
2248
+ }
2249
+
2250
+ _klen = _JSON_range_lengths[cs];
2251
+ if ( _klen > 0 ) {
2252
+ int _lower = _keys;
2253
+ int _mid;
2254
+ int _upper = _keys + (_klen<<1) - 2;
2255
+ while (true) {
2256
+ if ( _upper < _lower )
2257
+ break;
2258
+
2259
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1);
2260
+ if ( data[p] < _JSON_trans_keys[_mid] )
2261
+ _upper = _mid - 2;
2262
+ else if ( data[p] > _JSON_trans_keys[_mid+1] )
2263
+ _lower = _mid + 2;
2264
+ else {
2265
+ _trans += ((_mid - _keys)>>1);
2266
+ break _match;
2267
+ }
2268
+ }
2269
+ _trans += _klen;
2270
+ }
2271
+ } while (false);
2272
+
2273
+ _trans = _JSON_indicies[_trans];
2274
+ cs = _JSON_trans_targs[_trans];
2275
+
2276
+ if ( _JSON_trans_actions[_trans] != 0 ) {
2277
+ _acts = _JSON_trans_actions[_trans];
2278
+ _nacts = (int) _JSON_actions[_acts++];
2279
+ while ( _nacts-- > 0 )
2280
+ {
2281
+ switch ( _JSON_actions[_acts++] )
2282
+ {
2283
+ case 0:
2284
+ // line 822 "Parser.rl"
2285
+ {
2286
+ parseValue(res, p, pe);
2287
+ if (res.result == null) {
2288
+ p--;
2289
+ { p += 1; _goto_targ = 5; if (true) continue _goto;}
2290
+ } else {
2291
+ result = res.result;
2292
+ {p = (( res.p))-1;}
2293
+ }
2294
+ }
2295
+ break;
2296
+ // line 2297 "Parser.java"
2297
+ }
2298
+ }
2299
+ }
2300
+
2301
+ case 2:
2302
+ if ( cs == 0 ) {
2303
+ _goto_targ = 5;
2304
+ continue _goto;
2305
+ }
2306
+ if ( ++p != pe ) {
2307
+ _goto_targ = 1;
2308
+ continue _goto;
2309
+ }
2310
+ case 4:
2311
+ case 5:
2312
+ }
2313
+ break; }
2314
+ }
2315
+
2316
+ // line 848 "Parser.rl"
2317
+
2318
+ if (cs >= JSON_first_final && p == pe) {
2319
+ return result;
2320
+ } else {
2321
+ throw unexpectedToken(p, pe);
2322
+ }
2323
+ }
2324
+
2325
+ public IRubyObject parse() {
2326
+ return parseImplemetation();
2327
+ }
2328
+
2329
+ /**
2330
+ * Updates the "view" bytelist with the new offsets and returns it.
2331
+ * @param start
2332
+ * @param end
2333
+ */
2334
+ private ByteList absSubSequence(int absStart, int absEnd) {
2335
+ view.setBegin(absStart);
2336
+ view.setRealSize(absEnd - absStart);
2337
+ return view;
2338
+ }
2339
+
2340
+ /**
2341
+ * Retrieves a constant directly descended from the <code>JSON</code> module.
2342
+ * @param name The constant name
2343
+ */
2344
+ private IRubyObject getConstant(String name) {
2345
+ return parser.info.jsonModule.get().getConstant(name);
2346
+ }
2347
+
2348
+ private RaiseException newException(String className, String message) {
2349
+ return Utils.newException(context, className, message);
2350
+ }
2351
+
2352
+ private RaiseException newException(String className, RubyString message) {
2353
+ return Utils.newException(context, className, message);
2354
+ }
2355
+
2356
+ private RaiseException newException(String className,
2357
+ String messageBegin, ByteList messageEnd) {
2358
+ return newException(className,
2359
+ getRuntime().newString(messageBegin).cat(messageEnd));
2360
+ }
2361
+ }
2362
+ }