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,2317 @@
1
+ # frozen_string_literal: true
2
+ ##
3
+ # This file contains stuff stolen outright from:
4
+ #
5
+ # rtags.rb -
6
+ # ruby-lex.rb - ruby lexcal analyzer
7
+ # ruby-token.rb - ruby tokens
8
+ # by Keiju ISHITSUKA (Nippon Rational Inc.)
9
+ #
10
+
11
+ ##
12
+ # Extracts code elements from a source file returning a TopLevel object
13
+ # containing the constituent file elements.
14
+ #
15
+ # This file is based on rtags
16
+ #
17
+ # RubyParser understands how to document:
18
+ # * classes
19
+ # * modules
20
+ # * methods
21
+ # * constants
22
+ # * aliases
23
+ # * private, public, protected
24
+ # * private_class_function, public_class_function
25
+ # * private_constant, public_constant
26
+ # * module_function
27
+ # * attr, attr_reader, attr_writer, attr_accessor
28
+ # * extra accessors given on the command line
29
+ # * metaprogrammed methods
30
+ # * require
31
+ # * include
32
+ #
33
+ # == Method Arguments
34
+ #
35
+ #--
36
+ # NOTE: I don't think this works, needs tests, remove the paragraph following
37
+ # this block when known to work
38
+ #
39
+ # The parser extracts the arguments from the method definition. You can
40
+ # override this with a custom argument definition using the :args: directive:
41
+ #
42
+ # ##
43
+ # # This method tries over and over until it is tired
44
+ #
45
+ # def go_go_go(thing_to_try, tries = 10) # :args: thing_to_try
46
+ # puts thing_to_try
47
+ # go_go_go thing_to_try, tries - 1
48
+ # end
49
+ #
50
+ # If you have a more-complex set of overrides you can use the :call-seq:
51
+ # directive:
52
+ #++
53
+ #
54
+ # The parser extracts the arguments from the method definition. You can
55
+ # override this with a custom argument definition using the :call-seq:
56
+ # directive:
57
+ #
58
+ # ##
59
+ # # This method can be called with a range or an offset and length
60
+ # #
61
+ # # :call-seq:
62
+ # # my_method(Range)
63
+ # # my_method(offset, length)
64
+ #
65
+ # def my_method(*args)
66
+ # end
67
+ #
68
+ # The parser extracts +yield+ expressions from method bodies to gather the
69
+ # yielded argument names. If your method manually calls a block instead of
70
+ # yielding or you want to override the discovered argument names use
71
+ # the :yields: directive:
72
+ #
73
+ # ##
74
+ # # My method is awesome
75
+ #
76
+ # def my_method(&block) # :yields: happy, times
77
+ # block.call 1, 2
78
+ # end
79
+ #
80
+ # == Metaprogrammed Methods
81
+ #
82
+ # To pick up a metaprogrammed method, the parser looks for a comment starting
83
+ # with '##' before an identifier:
84
+ #
85
+ # ##
86
+ # # This is a meta-programmed method!
87
+ #
88
+ # add_my_method :meta_method, :arg1, :arg2
89
+ #
90
+ # The parser looks at the token after the identifier to determine the name, in
91
+ # this example, :meta_method. If a name cannot be found, a warning is printed
92
+ # and 'unknown is used.
93
+ #
94
+ # You can force the name of a method using the :method: directive:
95
+ #
96
+ # ##
97
+ # # :method: some_method!
98
+ #
99
+ # By default, meta-methods are instance methods. To indicate that a method is
100
+ # a singleton method instead use the :singleton-method: directive:
101
+ #
102
+ # ##
103
+ # # :singleton-method:
104
+ #
105
+ # You can also use the :singleton-method: directive with a name:
106
+ #
107
+ # ##
108
+ # # :singleton-method: some_method!
109
+ #
110
+ # You can define arguments for metaprogrammed methods via either the
111
+ # :call-seq:, :arg: or :args: directives.
112
+ #
113
+ # Additionally you can mark a method as an attribute by
114
+ # using :attr:, :attr_reader:, :attr_writer: or :attr_accessor:. Just like
115
+ # for :method:, the name is optional.
116
+ #
117
+ # ##
118
+ # # :attr_reader: my_attr_name
119
+ #
120
+ # == Hidden methods and attributes
121
+ #
122
+ # You can provide documentation for methods that don't appear using
123
+ # the :method:, :singleton-method: and :attr: directives:
124
+ #
125
+ # ##
126
+ # # :attr_writer: ghost_writer
127
+ # # There is an attribute here, but you can't see it!
128
+ #
129
+ # ##
130
+ # # :method: ghost_method
131
+ # # There is a method here, but you can't see it!
132
+ #
133
+ # ##
134
+ # # this is a comment for a regular method
135
+ #
136
+ # def regular_method() end
137
+ #
138
+ # Note that by default, the :method: directive will be ignored if there is a
139
+ # standard rdocable item following it.
140
+
141
+ require 'ripper'
142
+ require_relative 'ripper_state_lex'
143
+
144
+ class RDoc::Parser::Ruby < RDoc::Parser
145
+
146
+ parse_files_matching(/\.rbw?$/)
147
+
148
+ include RDoc::TokenStream
149
+ include RDoc::Parser::RubyTools
150
+
151
+ ##
152
+ # RDoc::NormalClass type
153
+
154
+ NORMAL = "::"
155
+
156
+ ##
157
+ # RDoc::SingleClass type
158
+
159
+ SINGLE = "<<"
160
+
161
+ ##
162
+ # Creates a new Ruby parser.
163
+
164
+ def initialize(top_level, file_name, content, options, stats)
165
+ super
166
+
167
+ if /\t/ =~ content then
168
+ tab_width = @options.tab_width
169
+ content = content.split(/\n/).map do |line|
170
+ 1 while line.gsub!(/\t+/) {
171
+ ' ' * (tab_width*$&.length - $`.length % tab_width)
172
+ } && $~
173
+ line
174
+ end.join("\n")
175
+ end
176
+
177
+ @size = 0
178
+ @token_listeners = nil
179
+ content = RDoc::Encoding.remove_magic_comment content
180
+ @scanner = RDoc::Parser::RipperStateLex.parse(content)
181
+ @content = content
182
+ @scanner_point = 0
183
+ @prev_seek = nil
184
+ @markup = @options.markup
185
+ @track_visibility = :nodoc != @options.visibility
186
+ @encoding = @options.encoding
187
+
188
+ reset
189
+ end
190
+
191
+ def tk_nl?(tk)
192
+ :on_nl == tk[:kind] or :on_ignored_nl == tk[:kind]
193
+ end
194
+
195
+ ##
196
+ # Retrieves the read token stream and replaces +pattern+ with +replacement+
197
+ # using gsub. If the result is only a ";" returns an empty string.
198
+
199
+ def get_tkread_clean pattern, replacement # :nodoc:
200
+ read = get_tkread.gsub(pattern, replacement).strip
201
+ return '' if read == ';'
202
+ read
203
+ end
204
+
205
+ ##
206
+ # Extracts the visibility information for the visibility token +tk+
207
+ # and +single+ class type identifier.
208
+ #
209
+ # Returns the visibility type (a string), the visibility (a symbol) and
210
+ # +singleton+ if the methods following should be converted to singleton
211
+ # methods.
212
+
213
+ def get_visibility_information tk, single # :nodoc:
214
+ vis_type = tk[:text]
215
+ singleton = single == SINGLE
216
+
217
+ vis =
218
+ case vis_type
219
+ when 'private' then :private
220
+ when 'protected' then :protected
221
+ when 'public' then :public
222
+ when 'private_class_method' then
223
+ singleton = true
224
+ :private
225
+ when 'public_class_method' then
226
+ singleton = true
227
+ :public
228
+ when 'module_function' then
229
+ singleton = true
230
+ :public
231
+ else
232
+ raise RDoc::Error, "Invalid visibility: #{tk.name}"
233
+ end
234
+
235
+ return vis_type, vis, singleton
236
+ end
237
+
238
+ ##
239
+ # Look for the first comment in a file that isn't a shebang line.
240
+
241
+ def collect_first_comment
242
+ skip_tkspace
243
+ comment = ''.dup
244
+ comment = RDoc::Encoding.change_encoding comment, @encoding if @encoding
245
+ first_line = true
246
+ first_comment_tk_kind = nil
247
+
248
+ tk = get_tk
249
+
250
+ while tk && (:on_comment == tk[:kind] or :on_embdoc == tk[:kind])
251
+ comment_body = retrieve_comment_body(tk)
252
+ if first_line and comment_body =~ /\A#!/ then
253
+ skip_tkspace
254
+ tk = get_tk
255
+ elsif first_line and comment_body =~ /\A#\s*-\*-/ then
256
+ first_line = false
257
+ skip_tkspace
258
+ tk = get_tk
259
+ else
260
+ break if first_comment_tk_kind and not first_comment_tk_kind === tk[:kind]
261
+ first_comment_tk_kind = tk[:kind]
262
+
263
+ first_line = false
264
+ comment << comment_body
265
+ tk = get_tk
266
+
267
+ if :on_nl === tk then
268
+ skip_tkspace_without_nl
269
+ tk = get_tk
270
+ end
271
+ end
272
+ end
273
+
274
+ unget_tk tk
275
+
276
+ new_comment comment
277
+ end
278
+
279
+ ##
280
+ # Consumes trailing whitespace from the token stream
281
+
282
+ def consume_trailing_spaces # :nodoc:
283
+ skip_tkspace_without_nl
284
+ end
285
+
286
+ ##
287
+ # Creates a new attribute in +container+ with +name+.
288
+
289
+ def create_attr container, single, name, rw, comment # :nodoc:
290
+ att = RDoc::Attr.new get_tkread, name, rw, comment, single == SINGLE
291
+ record_location att
292
+
293
+ container.add_attribute att
294
+ @stats.add_attribute att
295
+
296
+ att
297
+ end
298
+
299
+ ##
300
+ # Creates a module alias in +container+ at +rhs_name+ (or at the top-level
301
+ # for "::") with the name from +constant+.
302
+
303
+ def create_module_alias container, constant, rhs_name # :nodoc:
304
+ mod = if rhs_name =~ /^::/ then
305
+ @store.find_class_or_module rhs_name
306
+ else
307
+ container.find_module_named rhs_name
308
+ end
309
+
310
+ container.add_module_alias mod, rhs_name, constant, @top_level
311
+ end
312
+
313
+ ##
314
+ # Aborts with +msg+
315
+
316
+ def error(msg)
317
+ msg = make_message msg
318
+
319
+ abort msg
320
+ end
321
+
322
+ ##
323
+ # Looks for a true or false token.
324
+
325
+ def get_bool
326
+ skip_tkspace
327
+ tk = get_tk
328
+ if :on_kw == tk[:kind] && 'true' == tk[:text]
329
+ true
330
+ elsif :on_kw == tk[:kind] && ('false' == tk[:text] || 'nil' == tk[:text])
331
+ false
332
+ else
333
+ unget_tk tk
334
+ true
335
+ end
336
+ end
337
+
338
+ ##
339
+ # Look for the name of a class of module (optionally with a leading :: or
340
+ # with :: separated named) and return the ultimate name, the associated
341
+ # container, and the given name (with the ::).
342
+
343
+ def get_class_or_module container, ignore_constants = false
344
+ skip_tkspace
345
+ name_t = get_tk
346
+ given_name = ''.dup
347
+
348
+ # class ::A -> A is in the top level
349
+ if :on_op == name_t[:kind] and '::' == name_t[:text] then # bug
350
+ name_t = get_tk
351
+ container = @top_level
352
+ given_name << '::'
353
+ end
354
+
355
+ skip_tkspace_without_nl
356
+ given_name << name_t[:text]
357
+
358
+ is_self = name_t[:kind] == :on_op && name_t[:text] == '<<'
359
+ new_modules = []
360
+ while !is_self && (tk = peek_tk) and :on_op == tk[:kind] and '::' == tk[:text] do
361
+ prev_container = container
362
+ container = container.find_module_named name_t[:text]
363
+ container ||=
364
+ if ignore_constants then
365
+ c = RDoc::NormalModule.new name_t[:text]
366
+ c.store = @store
367
+ new_modules << [prev_container, c]
368
+ c
369
+ else
370
+ c = prev_container.add_module RDoc::NormalModule, name_t[:text]
371
+ c.ignore unless prev_container.document_children
372
+ @top_level.add_to_classes_or_modules c
373
+ c
374
+ end
375
+
376
+ record_location container
377
+
378
+ get_tk
379
+ skip_tkspace_without_nl
380
+ name_t = get_tk
381
+ unless :on_const == name_t[:kind] || :on_ident == name_t[:kind]
382
+ raise RDoc::Error, "Invalid class or module definition: #{given_name}"
383
+ end
384
+ if prev_container == container and !ignore_constants
385
+ given_name = name_t[:text]
386
+ else
387
+ given_name << '::' + name_t[:text]
388
+ end
389
+ end
390
+
391
+ skip_tkspace_without_nl
392
+
393
+ return [container, name_t, given_name, new_modules]
394
+ end
395
+
396
+ ##
397
+ # Return a superclass, which can be either a constant of an expression
398
+
399
+ def get_class_specification
400
+ tk = peek_tk
401
+ if tk.nil?
402
+ return ''
403
+ elsif :on_kw == tk[:kind] && 'self' == tk[:text]
404
+ return 'self'
405
+ elsif :on_gvar == tk[:kind]
406
+ return ''
407
+ end
408
+
409
+ res = get_constant
410
+
411
+ skip_tkspace_without_nl
412
+
413
+ get_tkread # empty out read buffer
414
+
415
+ tk = get_tk
416
+ return res unless tk
417
+
418
+ case tk[:kind]
419
+ when :on_nl, :on_comment, :on_embdoc, :on_semicolon then
420
+ unget_tk(tk)
421
+ return res
422
+ end
423
+
424
+ res += parse_call_parameters(tk)
425
+ res
426
+ end
427
+
428
+ ##
429
+ # Parse a constant, which might be qualified by one or more class or module
430
+ # names
431
+
432
+ def get_constant
433
+ res = ""
434
+ skip_tkspace_without_nl
435
+ tk = get_tk
436
+
437
+ while tk && ((:on_op == tk[:kind] && '::' == tk[:text]) || :on_const == tk[:kind]) do
438
+ res += tk[:text]
439
+ tk = get_tk
440
+ end
441
+
442
+ unget_tk(tk)
443
+ res
444
+ end
445
+
446
+ ##
447
+ # Get an included module that may be surrounded by parens
448
+
449
+ def get_included_module_with_optional_parens
450
+ skip_tkspace_without_nl
451
+ get_tkread
452
+ tk = get_tk
453
+ end_token = get_end_token tk
454
+ return '' unless end_token
455
+
456
+ nest = 0
457
+ continue = false
458
+ only_constant = true
459
+
460
+ while tk != nil do
461
+ is_element_of_constant = false
462
+ case tk[:kind]
463
+ when :on_semicolon then
464
+ break if nest == 0
465
+ when :on_lbracket then
466
+ nest += 1
467
+ when :on_rbracket then
468
+ nest -= 1
469
+ when :on_lbrace then
470
+ nest += 1
471
+ when :on_rbrace then
472
+ nest -= 1
473
+ if nest <= 0
474
+ # we might have a.each { |i| yield i }
475
+ unget_tk(tk) if nest < 0
476
+ break
477
+ end
478
+ when :on_lparen then
479
+ nest += 1
480
+ when end_token[:kind] then
481
+ if end_token[:kind] == :on_rparen
482
+ nest -= 1
483
+ break if nest <= 0
484
+ else
485
+ break if nest <= 0
486
+ end
487
+ when :on_rparen then
488
+ nest -= 1
489
+ when :on_comment, :on_embdoc then
490
+ @read.pop
491
+ if :on_nl == end_token[:kind] and "\n" == tk[:text][-1] and
492
+ (!continue or (tk[:state] & RDoc::Parser::RipperStateLex::EXPR_LABEL) != 0) then
493
+ break if !continue and nest <= 0
494
+ end
495
+ when :on_comma then
496
+ continue = true
497
+ when :on_ident then
498
+ continue = false if continue
499
+ when :on_kw then
500
+ case tk[:text]
501
+ when 'def', 'do', 'case', 'for', 'begin', 'class', 'module'
502
+ nest += 1
503
+ when 'if', 'unless', 'while', 'until', 'rescue'
504
+ # postfix if/unless/while/until/rescue must be EXPR_LABEL
505
+ nest += 1 unless (tk[:state] & RDoc::Parser::RipperStateLex::EXPR_LABEL) != 0
506
+ when 'end'
507
+ nest -= 1
508
+ break if nest == 0
509
+ end
510
+ when :on_const then
511
+ is_element_of_constant = true
512
+ when :on_op then
513
+ is_element_of_constant = true if '::' == tk[:text]
514
+ end
515
+ only_constant = false unless is_element_of_constant
516
+ tk = get_tk
517
+ end
518
+
519
+ if only_constant
520
+ get_tkread_clean(/\s+/, ' ')
521
+ else
522
+ ''
523
+ end
524
+ end
525
+
526
+ ##
527
+ # Little hack going on here. In the statement:
528
+ #
529
+ # f = 2*(1+yield)
530
+ #
531
+ # We see the RPAREN as the next token, so we need to exit early. This still
532
+ # won't catch all cases (such as "a = yield + 1"
533
+
534
+ def get_end_token tk # :nodoc:
535
+ case tk[:kind]
536
+ when :on_lparen
537
+ token = RDoc::Parser::RipperStateLex::Token.new
538
+ token[:kind] = :on_rparen
539
+ token[:text] = ')'
540
+ token
541
+ when :on_rparen
542
+ nil
543
+ else
544
+ token = RDoc::Parser::RipperStateLex::Token.new
545
+ token[:kind] = :on_nl
546
+ token[:text] = "\n"
547
+ token
548
+ end
549
+ end
550
+
551
+ ##
552
+ # Retrieves the method container for a singleton method.
553
+
554
+ def get_method_container container, name_t # :nodoc:
555
+ prev_container = container
556
+ container = container.find_module_named(name_t[:text])
557
+
558
+ unless container then
559
+ constant = prev_container.constants.find do |const|
560
+ const.name == name_t[:text]
561
+ end
562
+
563
+ if constant then
564
+ parse_method_dummy prev_container
565
+ return
566
+ end
567
+ end
568
+
569
+ unless container then
570
+ # TODO seems broken, should starting at Object in @store
571
+ obj = name_t[:text].split("::").inject(Object) do |state, item|
572
+ state.const_get(item)
573
+ end rescue nil
574
+
575
+ type = obj.class == Class ? RDoc::NormalClass : RDoc::NormalModule
576
+
577
+ unless [Class, Module].include?(obj.class) then
578
+ warn("Couldn't find #{name_t[:text]}. Assuming it's a module")
579
+ end
580
+
581
+ if type == RDoc::NormalClass then
582
+ sclass = obj.superclass ? obj.superclass.name : nil
583
+ container = prev_container.add_class type, name_t[:text], sclass
584
+ else
585
+ container = prev_container.add_module type, name_t[:text]
586
+ end
587
+
588
+ record_location container
589
+ end
590
+
591
+ container
592
+ end
593
+
594
+ ##
595
+ # Extracts a name or symbol from the token stream.
596
+
597
+ def get_symbol_or_name
598
+ tk = get_tk
599
+ case tk[:kind]
600
+ when :on_symbol then
601
+ text = tk[:text].sub(/^:/, '')
602
+
603
+ next_tk = peek_tk
604
+ if next_tk && :on_op == next_tk[:kind] && '=' == next_tk[:text] then
605
+ get_tk
606
+ text << '='
607
+ end
608
+
609
+ text
610
+ when :on_ident, :on_const, :on_gvar, :on_cvar, :on_ivar, :on_op, :on_kw then
611
+ tk[:text]
612
+ when :on_tstring, :on_dstring then
613
+ tk[:text][1..-2]
614
+ else
615
+ raise RDoc::Error, "Name or symbol expected (got #{tk})"
616
+ end
617
+ end
618
+
619
+ ##
620
+ # Marks containers between +container+ and +ancestor+ as ignored
621
+
622
+ def suppress_parents container, ancestor # :nodoc:
623
+ while container and container != ancestor do
624
+ container.suppress unless container.documented?
625
+ container = container.parent
626
+ end
627
+ end
628
+
629
+ ##
630
+ # Look for directives in a normal comment block:
631
+ #
632
+ # # :stopdoc:
633
+ # # Don't display comment from this point forward
634
+ #
635
+ # This routine modifies its +comment+ parameter.
636
+
637
+ def look_for_directives_in container, comment
638
+ @preprocess.handle comment, container do |directive, param|
639
+ case directive
640
+ when 'method', 'singleton-method',
641
+ 'attr', 'attr_accessor', 'attr_reader', 'attr_writer' then
642
+ false # handled elsewhere
643
+ when 'section' then
644
+ break unless container.kind_of?(RDoc::Context)
645
+ container.set_current_section param, comment.dup
646
+ comment.text = ''
647
+ break
648
+ end
649
+ end
650
+
651
+ comment.remove_private
652
+ end
653
+
654
+ ##
655
+ # Adds useful info about the parser to +message+
656
+
657
+ def make_message message
658
+ prefix = "#{@file_name}:".dup
659
+
660
+ tk = peek_tk
661
+ prefix << "#{tk[:line_no]}:#{tk[:char_no]}:" if tk
662
+
663
+ "#{prefix} #{message}"
664
+ end
665
+
666
+ ##
667
+ # Creates a comment with the correct format
668
+
669
+ def new_comment comment
670
+ c = RDoc::Comment.new comment, @top_level
671
+ c.format = @markup
672
+ c
673
+ end
674
+
675
+ ##
676
+ # Creates an RDoc::Attr for the name following +tk+, setting the comment to
677
+ # +comment+.
678
+
679
+ def parse_attr(context, single, tk, comment)
680
+ line_no = tk[:line_no]
681
+
682
+ args = parse_symbol_arg 1
683
+ if args.size > 0 then
684
+ name = args[0]
685
+ rw = "R"
686
+ skip_tkspace_without_nl
687
+ tk = get_tk
688
+
689
+ if :on_comma == tk[:kind] then
690
+ rw = "RW" if get_bool
691
+ else
692
+ unget_tk tk
693
+ end
694
+
695
+ att = create_attr context, single, name, rw, comment
696
+ att.line = line_no
697
+
698
+ read_documentation_modifiers att, RDoc::ATTR_MODIFIERS
699
+ else
700
+ warn "'attr' ignored - looks like a variable"
701
+ end
702
+ end
703
+
704
+ ##
705
+ # Creates an RDoc::Attr for each attribute listed after +tk+, setting the
706
+ # comment for each to +comment+.
707
+
708
+ def parse_attr_accessor(context, single, tk, comment)
709
+ line_no = tk[:line_no]
710
+
711
+ args = parse_symbol_arg
712
+ rw = "?"
713
+
714
+ tmp = RDoc::CodeObject.new
715
+ read_documentation_modifiers tmp, RDoc::ATTR_MODIFIERS
716
+ # TODO In most other places we let the context keep track of document_self
717
+ # and add found items appropriately but here we do not. I'm not sure why.
718
+ return if @track_visibility and not tmp.document_self
719
+
720
+ case tk[:text]
721
+ when "attr_reader" then rw = "R"
722
+ when "attr_writer" then rw = "W"
723
+ when "attr_accessor" then rw = "RW"
724
+ else
725
+ rw = '?'
726
+ end
727
+
728
+ for name in args
729
+ att = create_attr context, single, name, rw, comment
730
+ att.line = line_no
731
+ end
732
+ end
733
+
734
+ ##
735
+ # Parses an +alias+ in +context+ with +comment+
736
+
737
+ def parse_alias(context, single, tk, comment)
738
+ line_no = tk[:line_no]
739
+
740
+ skip_tkspace
741
+
742
+ if :on_lparen === peek_tk[:kind] then
743
+ get_tk
744
+ skip_tkspace
745
+ end
746
+
747
+ new_name = get_symbol_or_name
748
+
749
+ skip_tkspace
750
+ if :on_comma === peek_tk[:kind] then
751
+ get_tk
752
+ skip_tkspace
753
+ end
754
+
755
+ begin
756
+ old_name = get_symbol_or_name
757
+ rescue RDoc::Error
758
+ return
759
+ end
760
+
761
+ al = RDoc::Alias.new(get_tkread, old_name, new_name, comment,
762
+ single == SINGLE)
763
+ record_location al
764
+ al.line = line_no
765
+
766
+ read_documentation_modifiers al, RDoc::ATTR_MODIFIERS
767
+ context.add_alias al
768
+ @stats.add_alias al
769
+
770
+ al
771
+ end
772
+
773
+ ##
774
+ # Extracts call parameters from the token stream.
775
+
776
+ def parse_call_parameters(tk)
777
+ end_token = case tk[:kind]
778
+ when :on_lparen
779
+ :on_rparen
780
+ when :on_rparen
781
+ return ""
782
+ else
783
+ :on_nl
784
+ end
785
+ nest = 0
786
+
787
+ loop do
788
+ break if tk.nil?
789
+ case tk[:kind]
790
+ when :on_semicolon
791
+ break
792
+ when :on_lparen
793
+ nest += 1
794
+ when end_token
795
+ if end_token == :on_rparen
796
+ nest -= 1
797
+ break if RDoc::Parser::RipperStateLex.end?(tk) and nest <= 0
798
+ else
799
+ break if RDoc::Parser::RipperStateLex.end?(tk)
800
+ end
801
+ when :on_comment, :on_embdoc
802
+ unget_tk(tk)
803
+ break
804
+ when :on_op
805
+ if tk[:text] =~ /^(.{1,2})?=$/
806
+ unget_tk(tk)
807
+ break
808
+ end
809
+ end
810
+ tk = get_tk
811
+ end
812
+
813
+ get_tkread_clean "\n", " "
814
+ end
815
+
816
+ ##
817
+ # Parses a class in +context+ with +comment+
818
+
819
+ def parse_class container, single, tk, comment
820
+ line_no = tk[:line_no]
821
+
822
+ declaration_context = container
823
+ container, name_t, given_name, = get_class_or_module container
824
+
825
+ if name_t[:kind] == :on_const
826
+ cls = parse_class_regular container, declaration_context, single,
827
+ name_t, given_name, comment
828
+ elsif name_t[:kind] == :on_op && name_t[:text] == '<<'
829
+ case name = get_class_specification
830
+ when 'self', container.name
831
+ read_documentation_modifiers cls, RDoc::CLASS_MODIFIERS
832
+ parse_statements container, SINGLE
833
+ return # don't update line
834
+ else
835
+ cls = parse_class_singleton container, name, comment
836
+ end
837
+ else
838
+ warn "Expected class name or '<<'. Got #{name_t[:kind]}: #{name_t[:text].inspect}"
839
+ return
840
+ end
841
+
842
+ cls.line = line_no
843
+
844
+ # after end modifiers
845
+ read_documentation_modifiers cls, RDoc::CLASS_MODIFIERS
846
+
847
+ cls
848
+ end
849
+
850
+ ##
851
+ # Parses and creates a regular class
852
+
853
+ def parse_class_regular container, declaration_context, single, # :nodoc:
854
+ name_t, given_name, comment
855
+ superclass = '::Object'
856
+
857
+ if given_name =~ /^::/ then
858
+ declaration_context = @top_level
859
+ given_name = $'
860
+ end
861
+
862
+ tk = peek_tk
863
+ if tk[:kind] == :on_op && tk[:text] == '<' then
864
+ get_tk
865
+ skip_tkspace
866
+ superclass = get_class_specification
867
+ superclass = '(unknown)' if superclass.empty?
868
+ end
869
+
870
+ cls_type = single == SINGLE ? RDoc::SingleClass : RDoc::NormalClass
871
+ cls = declaration_context.add_class cls_type, given_name, superclass
872
+ cls.ignore unless container.document_children
873
+
874
+ read_documentation_modifiers cls, RDoc::CLASS_MODIFIERS
875
+ record_location cls
876
+
877
+ cls.add_comment comment, @top_level
878
+
879
+ @top_level.add_to_classes_or_modules cls
880
+ @stats.add_class cls
881
+
882
+ suppress_parents container, declaration_context unless cls.document_self
883
+
884
+ parse_statements cls
885
+
886
+ cls
887
+ end
888
+
889
+ ##
890
+ # Parses a singleton class in +container+ with the given +name+ and
891
+ # +comment+.
892
+
893
+ def parse_class_singleton container, name, comment # :nodoc:
894
+ other = @store.find_class_named name
895
+
896
+ unless other then
897
+ if name =~ /^::/ then
898
+ name = $'
899
+ container = @top_level
900
+ end
901
+
902
+ other = container.add_module RDoc::NormalModule, name
903
+ record_location other
904
+
905
+ # class << $gvar
906
+ other.ignore if name.empty?
907
+
908
+ other.add_comment comment, @top_level
909
+ end
910
+
911
+ # notify :nodoc: all if not a constant-named class/module
912
+ # (and remove any comment)
913
+ unless name =~ /\A(::)?[A-Z]/ then
914
+ other.document_self = nil
915
+ other.document_children = false
916
+ other.clear_comment
917
+ end
918
+
919
+ @top_level.add_to_classes_or_modules other
920
+ @stats.add_class other
921
+
922
+ read_documentation_modifiers other, RDoc::CLASS_MODIFIERS
923
+ parse_statements(other, SINGLE)
924
+
925
+ other
926
+ end
927
+
928
+ ##
929
+ # Parses a constant in +context+ with +comment+. If +ignore_constants+ is
930
+ # true, no found constants will be added to RDoc.
931
+
932
+ def parse_constant container, tk, comment, ignore_constants = false
933
+ line_no = tk[:line_no]
934
+
935
+ name = tk[:text]
936
+ skip_tkspace_without_nl
937
+
938
+ return unless name =~ /^\w+$/
939
+
940
+ new_modules = []
941
+ if :on_op == peek_tk[:kind] && '::' == peek_tk[:text] then
942
+ unget_tk tk
943
+
944
+ container, name_t, _, new_modules = get_class_or_module container, true
945
+
946
+ name = name_t[:text]
947
+ end
948
+
949
+ is_array_or_hash = false
950
+ if peek_tk && :on_lbracket == peek_tk[:kind]
951
+ get_tk
952
+ nest = 1
953
+ while bracket_tk = get_tk
954
+ case bracket_tk[:kind]
955
+ when :on_lbracket
956
+ nest += 1
957
+ when :on_rbracket
958
+ nest -= 1
959
+ break if nest == 0
960
+ end
961
+ end
962
+ skip_tkspace_without_nl
963
+ is_array_or_hash = true
964
+ end
965
+
966
+ unless peek_tk && :on_op == peek_tk[:kind] && '=' == peek_tk[:text] then
967
+ return false
968
+ end
969
+ get_tk
970
+
971
+ unless ignore_constants
972
+ new_modules.each do |prev_c, new_module|
973
+ prev_c.add_module_by_normal_module new_module
974
+ new_module.ignore unless prev_c.document_children
975
+ @top_level.add_to_classes_or_modules new_module
976
+ end
977
+ end
978
+
979
+ value = ''
980
+ con = RDoc::Constant.new name, value, comment
981
+
982
+ body = parse_constant_body container, con, is_array_or_hash
983
+
984
+ return unless body
985
+
986
+ con.value = body
987
+ record_location con
988
+ con.line = line_no
989
+ read_documentation_modifiers con, RDoc::CONSTANT_MODIFIERS
990
+
991
+ return if is_array_or_hash
992
+
993
+ @stats.add_constant con
994
+ container.add_constant con
995
+
996
+ true
997
+ end
998
+
999
+ def parse_constant_body container, constant, is_array_or_hash # :nodoc:
1000
+ nest = 0
1001
+ rhs_name = ''.dup
1002
+
1003
+ get_tkread
1004
+
1005
+ tk = get_tk
1006
+
1007
+ body = nil
1008
+ loop do
1009
+ break if tk.nil?
1010
+ if :on_semicolon == tk[:kind] then
1011
+ break if nest <= 0
1012
+ elsif [:on_tlambeg, :on_lparen, :on_lbrace, :on_lbracket].include?(tk[:kind]) then
1013
+ nest += 1
1014
+ elsif (:on_kw == tk[:kind] && 'def' == tk[:text]) then
1015
+ nest += 1
1016
+ elsif (:on_kw == tk[:kind] && %w{do if unless case begin}.include?(tk[:text])) then
1017
+ if (tk[:state] & RDoc::Parser::RipperStateLex::EXPR_LABEL) == 0
1018
+ nest += 1
1019
+ end
1020
+ elsif [:on_rparen, :on_rbrace, :on_rbracket].include?(tk[:kind]) ||
1021
+ (:on_kw == tk[:kind] && 'end' == tk[:text]) then
1022
+ nest -= 1
1023
+ elsif (:on_comment == tk[:kind] or :on_embdoc == tk[:kind]) then
1024
+ unget_tk tk
1025
+ if nest <= 0 and RDoc::Parser::RipperStateLex.end?(tk) then
1026
+ body = get_tkread_clean(/^[ \t]+/, '')
1027
+ read_documentation_modifiers constant, RDoc::CONSTANT_MODIFIERS
1028
+ break
1029
+ else
1030
+ read_documentation_modifiers constant, RDoc::CONSTANT_MODIFIERS
1031
+ end
1032
+ elsif :on_const == tk[:kind] then
1033
+ rhs_name << tk[:text]
1034
+
1035
+ next_tk = peek_tk
1036
+ if nest <= 0 and (next_tk.nil? || :on_nl == next_tk[:kind]) then
1037
+ create_module_alias container, constant, rhs_name unless is_array_or_hash
1038
+ break
1039
+ end
1040
+ elsif :on_nl == tk[:kind] then
1041
+ if nest <= 0 and RDoc::Parser::RipperStateLex.end?(tk) then
1042
+ unget_tk tk
1043
+ break
1044
+ end
1045
+ elsif :on_op == tk[:kind] && '::' == tk[:text]
1046
+ rhs_name << '::'
1047
+ end
1048
+ tk = get_tk
1049
+ end
1050
+
1051
+ body ? body : get_tkread_clean(/^[ \t]+/, '')
1052
+ end
1053
+
1054
+ ##
1055
+ # Generates an RDoc::Method or RDoc::Attr from +comment+ by looking for
1056
+ # :method: or :attr: directives in +comment+.
1057
+
1058
+ def parse_comment container, tk, comment
1059
+ return parse_comment_tomdoc container, tk, comment if @markup == 'tomdoc'
1060
+ column = tk[:char_no]
1061
+ line_no = tk[:line_no]
1062
+
1063
+ comment.text = comment.text.sub(/(^# +:?)(singleton-)(method:)/, '\1\3')
1064
+ singleton = !!$~
1065
+
1066
+ co =
1067
+ if (comment.text = comment.text.sub(/^# +:?method: *(\S*).*?\n/i, '')) && !!$~ then
1068
+ parse_comment_ghost container, comment.text, $1, column, line_no, comment
1069
+ elsif (comment.text = comment.text.sub(/# +:?(attr(_reader|_writer|_accessor)?): *(\S*).*?\n/i, '')) && !!$~ then
1070
+ parse_comment_attr container, $1, $3, comment
1071
+ end
1072
+
1073
+ if co then
1074
+ co.singleton = singleton
1075
+ co.line = line_no
1076
+ end
1077
+
1078
+ true
1079
+ end
1080
+
1081
+ ##
1082
+ # Parse a comment that is describing an attribute in +container+ with the
1083
+ # given +name+ and +comment+.
1084
+
1085
+ def parse_comment_attr container, type, name, comment # :nodoc:
1086
+ return if name.empty?
1087
+
1088
+ rw = case type
1089
+ when 'attr_reader' then 'R'
1090
+ when 'attr_writer' then 'W'
1091
+ else 'RW'
1092
+ end
1093
+
1094
+ create_attr container, NORMAL, name, rw, comment
1095
+ end
1096
+
1097
+ def parse_comment_ghost container, text, name, column, line_no, # :nodoc:
1098
+ comment
1099
+ name = nil if name.empty?
1100
+
1101
+ meth = RDoc::GhostMethod.new get_tkread, name
1102
+ record_location meth
1103
+
1104
+ meth.start_collecting_tokens
1105
+ indent = RDoc::Parser::RipperStateLex::Token.new(1, 1, :on_sp, ' ' * column)
1106
+ position_comment = RDoc::Parser::RipperStateLex::Token.new(line_no, 1, :on_comment)
1107
+ position_comment[:text] = "# File #{@top_level.relative_name}, line #{line_no}"
1108
+ newline = RDoc::Parser::RipperStateLex::Token.new(0, 0, :on_nl, "\n")
1109
+ meth.add_tokens [position_comment, newline, indent]
1110
+
1111
+ meth.params =
1112
+ if text.sub!(/^#\s+:?args?:\s*(.*?)\s*$/i, '') then
1113
+ $1
1114
+ else
1115
+ ''
1116
+ end
1117
+
1118
+ comment.normalize
1119
+ comment.extract_call_seq meth
1120
+
1121
+ return unless meth.name
1122
+
1123
+ container.add_method meth
1124
+
1125
+ meth.comment = comment
1126
+
1127
+ @stats.add_method meth
1128
+
1129
+ meth
1130
+ end
1131
+
1132
+ ##
1133
+ # Creates an RDoc::Method on +container+ from +comment+ if there is a
1134
+ # Signature section in the comment
1135
+
1136
+ def parse_comment_tomdoc container, tk, comment
1137
+ return unless signature = RDoc::TomDoc.signature(comment)
1138
+ column = tk[:char_no]
1139
+ line_no = tk[:line_no]
1140
+
1141
+ name, = signature.split %r%[ \(]%, 2
1142
+
1143
+ meth = RDoc::GhostMethod.new get_tkread, name
1144
+ record_location meth
1145
+ meth.line = line_no
1146
+
1147
+ meth.start_collecting_tokens
1148
+ indent = RDoc::Parser::RipperStateLex::Token.new(1, 1, :on_sp, ' ' * column)
1149
+ position_comment = RDoc::Parser::RipperStateLex::Token.new(line_no, 1, :on_comment)
1150
+ position_comment[:text] = "# File #{@top_level.relative_name}, line #{line_no}"
1151
+ newline = RDoc::Parser::RipperStateLex::Token.new(0, 0, :on_nl, "\n")
1152
+ meth.add_tokens [position_comment, newline, indent]
1153
+
1154
+ meth.call_seq = signature
1155
+
1156
+ comment.normalize
1157
+
1158
+ return unless meth.name
1159
+
1160
+ container.add_method meth
1161
+
1162
+ meth.comment = comment
1163
+
1164
+ @stats.add_method meth
1165
+ end
1166
+
1167
+ ##
1168
+ # Parses an +include+ or +extend+, indicated by the +klass+ and adds it to
1169
+ # +container+ # with +comment+
1170
+
1171
+ def parse_extend_or_include klass, container, comment # :nodoc:
1172
+ loop do
1173
+ skip_tkspace_comment
1174
+
1175
+ name = get_included_module_with_optional_parens
1176
+
1177
+ unless name.empty? then
1178
+ obj = container.add klass, name, comment
1179
+ record_location obj
1180
+ end
1181
+
1182
+ return if peek_tk.nil? || :on_comma != peek_tk[:kind]
1183
+
1184
+ get_tk
1185
+ end
1186
+ end
1187
+
1188
+ ##
1189
+ # Parses identifiers that can create new methods or change visibility.
1190
+ #
1191
+ # Returns true if the comment was not consumed.
1192
+
1193
+ def parse_identifier container, single, tk, comment # :nodoc:
1194
+ case tk[:text]
1195
+ when 'private', 'protected', 'public', 'private_class_method',
1196
+ 'public_class_method', 'module_function' then
1197
+ parse_visibility container, single, tk
1198
+ return true
1199
+ when 'private_constant', 'public_constant'
1200
+ parse_constant_visibility container, single, tk
1201
+ return true
1202
+ when 'attr' then
1203
+ parse_attr container, single, tk, comment
1204
+ when /^attr_(reader|writer|accessor)$/ then
1205
+ parse_attr_accessor container, single, tk, comment
1206
+ when 'alias_method' then
1207
+ parse_alias container, single, tk, comment
1208
+ when 'require', 'include' then
1209
+ # ignore
1210
+ else
1211
+ if comment.text =~ /\A#\#$/ then
1212
+ case comment.text
1213
+ when /^# +:?attr(_reader|_writer|_accessor)?:/ then
1214
+ parse_meta_attr container, single, tk, comment
1215
+ else
1216
+ method = parse_meta_method container, single, tk, comment
1217
+ method.params = container.params if
1218
+ container.params
1219
+ method.block_params = container.block_params if
1220
+ container.block_params
1221
+ end
1222
+ end
1223
+ end
1224
+
1225
+ false
1226
+ end
1227
+
1228
+ ##
1229
+ # Parses a meta-programmed attribute and creates an RDoc::Attr.
1230
+ #
1231
+ # To create foo and bar attributes on class C with comment "My attributes":
1232
+ #
1233
+ # class C
1234
+ #
1235
+ # ##
1236
+ # # :attr:
1237
+ # #
1238
+ # # My attributes
1239
+ #
1240
+ # my_attr :foo, :bar
1241
+ #
1242
+ # end
1243
+ #
1244
+ # To create a foo attribute on class C with comment "My attribute":
1245
+ #
1246
+ # class C
1247
+ #
1248
+ # ##
1249
+ # # :attr: foo
1250
+ # #
1251
+ # # My attribute
1252
+ #
1253
+ # my_attr :foo, :bar
1254
+ #
1255
+ # end
1256
+
1257
+ def parse_meta_attr(context, single, tk, comment)
1258
+ args = parse_symbol_arg
1259
+ rw = "?"
1260
+
1261
+ # If nodoc is given, don't document any of them
1262
+
1263
+ tmp = RDoc::CodeObject.new
1264
+ read_documentation_modifiers tmp, RDoc::ATTR_MODIFIERS
1265
+
1266
+ regexp = /^# +:?(attr(_reader|_writer|_accessor)?): *(\S*).*?\n/i
1267
+ if regexp =~ comment.text then
1268
+ comment.text = comment.text.sub(regexp, '')
1269
+ rw = case $1
1270
+ when 'attr_reader' then 'R'
1271
+ when 'attr_writer' then 'W'
1272
+ else 'RW'
1273
+ end
1274
+ name = $3 unless $3.empty?
1275
+ end
1276
+
1277
+ if name then
1278
+ att = create_attr context, single, name, rw, comment
1279
+ else
1280
+ args.each do |attr_name|
1281
+ att = create_attr context, single, attr_name, rw, comment
1282
+ end
1283
+ end
1284
+
1285
+ att
1286
+ end
1287
+
1288
+ ##
1289
+ # Parses a meta-programmed method
1290
+
1291
+ def parse_meta_method(container, single, tk, comment)
1292
+ column = tk[:char_no]
1293
+ line_no = tk[:line_no]
1294
+
1295
+ start_collecting_tokens
1296
+ add_token tk
1297
+ add_token_listener self
1298
+
1299
+ skip_tkspace_without_nl
1300
+
1301
+ comment.text = comment.text.sub(/(^# +:?)(singleton-)(method:)/, '\1\3')
1302
+ singleton = !!$~
1303
+
1304
+ name = parse_meta_method_name comment, tk
1305
+
1306
+ return unless name
1307
+
1308
+ meth = RDoc::MetaMethod.new get_tkread, name
1309
+ record_location meth
1310
+ meth.line = line_no
1311
+ meth.singleton = singleton
1312
+
1313
+ remove_token_listener self
1314
+
1315
+ meth.start_collecting_tokens
1316
+ indent = RDoc::Parser::RipperStateLex::Token.new(1, 1, :on_sp, ' ' * column)
1317
+ position_comment = RDoc::Parser::RipperStateLex::Token.new(line_no, 1, :on_comment)
1318
+ position_comment[:text] = "# File #{@top_level.relative_name}, line #{line_no}"
1319
+ newline = RDoc::Parser::RipperStateLex::Token.new(0, 0, :on_nl, "\n")
1320
+ meth.add_tokens [position_comment, newline, indent]
1321
+ meth.add_tokens @token_stream
1322
+
1323
+ parse_meta_method_params container, single, meth, tk, comment
1324
+
1325
+ meth.comment = comment
1326
+
1327
+ @stats.add_method meth
1328
+
1329
+ meth
1330
+ end
1331
+
1332
+ ##
1333
+ # Parses the name of a metaprogrammed method. +comment+ is used to
1334
+ # determine the name while +tk+ is used in an error message if the name
1335
+ # cannot be determined.
1336
+
1337
+ def parse_meta_method_name comment, tk # :nodoc:
1338
+ if comment.text.sub!(/^# +:?method: *(\S*).*?\n/i, '') then
1339
+ return $1 unless $1.empty?
1340
+ end
1341
+
1342
+ name_t = get_tk
1343
+
1344
+ if :on_symbol == name_t[:kind] then
1345
+ name_t[:text][1..-1]
1346
+ elsif :on_tstring == name_t[:kind] then
1347
+ name_t[:text][1..-2]
1348
+ elsif :on_op == name_t[:kind] && '=' == name_t[:text] then # ignore
1349
+ remove_token_listener self
1350
+
1351
+ nil
1352
+ else
1353
+ warn "unknown name token #{name_t.inspect} for meta-method '#{tk[:text]}'"
1354
+ 'unknown'
1355
+ end
1356
+ end
1357
+
1358
+ ##
1359
+ # Parses the parameters and block for a meta-programmed method.
1360
+
1361
+ def parse_meta_method_params container, single, meth, tk, comment # :nodoc:
1362
+ token_listener meth do
1363
+ meth.params = ''
1364
+
1365
+ look_for_directives_in meth, comment
1366
+ comment.normalize
1367
+ comment.extract_call_seq meth
1368
+
1369
+ container.add_method meth
1370
+
1371
+ last_tk = tk
1372
+
1373
+ while tk = get_tk do
1374
+ if :on_semicolon == tk[:kind] then
1375
+ break
1376
+ elsif :on_nl == tk[:kind] then
1377
+ break unless last_tk and :on_comma == last_tk[:kind]
1378
+ elsif :on_sp == tk[:kind] then
1379
+ # expression continues
1380
+ elsif :on_kw == tk[:kind] && 'do' == tk[:text] then
1381
+ parse_statements container, single, meth
1382
+ break
1383
+ else
1384
+ last_tk = tk
1385
+ end
1386
+ end
1387
+ end
1388
+ end
1389
+
1390
+ ##
1391
+ # Parses a normal method defined by +def+
1392
+
1393
+ def parse_method(container, single, tk, comment)
1394
+ singleton = nil
1395
+ added_container = false
1396
+ name = nil
1397
+ column = tk[:char_no]
1398
+ line_no = tk[:line_no]
1399
+
1400
+ start_collecting_tokens
1401
+ add_token tk
1402
+
1403
+ token_listener self do
1404
+ prev_container = container
1405
+ name, container, singleton = parse_method_name container
1406
+ added_container = container != prev_container
1407
+ end
1408
+
1409
+ return unless name
1410
+
1411
+ meth = RDoc::AnyMethod.new get_tkread, name
1412
+ look_for_directives_in meth, comment
1413
+ meth.singleton = single == SINGLE ? true : singleton
1414
+
1415
+ record_location meth
1416
+ meth.line = line_no
1417
+
1418
+ meth.start_collecting_tokens
1419
+ indent = RDoc::Parser::RipperStateLex::Token.new(1, 1, :on_sp, ' ' * column)
1420
+ token = RDoc::Parser::RipperStateLex::Token.new(line_no, 1, :on_comment)
1421
+ token[:text] = "# File #{@top_level.relative_name}, line #{line_no}"
1422
+ newline = RDoc::Parser::RipperStateLex::Token.new(0, 0, :on_nl, "\n")
1423
+ meth.add_tokens [token, newline, indent]
1424
+ meth.add_tokens @token_stream
1425
+
1426
+ parse_method_params_and_body container, single, meth, added_container
1427
+
1428
+ comment.normalize
1429
+ comment.extract_call_seq meth
1430
+
1431
+ meth.comment = comment
1432
+
1433
+ # after end modifiers
1434
+ read_documentation_modifiers meth, RDoc::METHOD_MODIFIERS
1435
+
1436
+ @stats.add_method meth
1437
+ end
1438
+
1439
+ ##
1440
+ # Parses the parameters and body of +meth+
1441
+
1442
+ def parse_method_params_and_body container, single, meth, added_container
1443
+ token_listener meth do
1444
+ parse_method_parameters meth
1445
+
1446
+ if meth.document_self or not @track_visibility then
1447
+ container.add_method meth
1448
+ elsif added_container then
1449
+ container.document_self = false
1450
+ end
1451
+
1452
+ # Having now read the method parameters and documentation modifiers, we
1453
+ # now know whether we have to rename #initialize to ::new
1454
+
1455
+ if meth.name == "initialize" && !meth.singleton then
1456
+ if meth.dont_rename_initialize then
1457
+ meth.visibility = :protected
1458
+ else
1459
+ meth.singleton = true
1460
+ meth.name = "new"
1461
+ meth.visibility = :public
1462
+ end
1463
+ end
1464
+
1465
+ parse_statements container, single, meth
1466
+ end
1467
+ end
1468
+
1469
+ ##
1470
+ # Parses a method that needs to be ignored.
1471
+
1472
+ def parse_method_dummy container
1473
+ dummy = RDoc::Context.new
1474
+ dummy.parent = container
1475
+ dummy.store = container.store
1476
+ skip_method dummy
1477
+ end
1478
+
1479
+ ##
1480
+ # Parses the name of a method in +container+.
1481
+ #
1482
+ # Returns the method name, the container it is in (for def Foo.name) and if
1483
+ # it is a singleton or regular method.
1484
+
1485
+ def parse_method_name container # :nodoc:
1486
+ skip_tkspace
1487
+ name_t = get_tk
1488
+ back_tk = skip_tkspace_without_nl
1489
+ singleton = false
1490
+
1491
+ dot = get_tk
1492
+ if dot[:kind] == :on_period || (dot[:kind] == :on_op && dot[:text] == '::') then
1493
+ singleton = true
1494
+
1495
+ name, container = parse_method_name_singleton container, name_t
1496
+ else
1497
+ unget_tk dot
1498
+ back_tk.reverse_each do |token|
1499
+ unget_tk token
1500
+ end
1501
+
1502
+ name = parse_method_name_regular container, name_t
1503
+ end
1504
+
1505
+ return name, container, singleton
1506
+ end
1507
+
1508
+ ##
1509
+ # For the given +container+ and initial name token +name_t+ the method name
1510
+ # is parsed from the token stream for a regular method.
1511
+
1512
+ def parse_method_name_regular container, name_t # :nodoc:
1513
+ if :on_op == name_t[:kind] && (%w{* & [] []= <<}.include?(name_t[:text])) then
1514
+ name_t[:text]
1515
+ else
1516
+ unless [:on_kw, :on_const, :on_ident].include?(name_t[:kind]) then
1517
+ warn "expected method name token, . or ::, got #{name_t.inspect}"
1518
+ skip_method container
1519
+ return
1520
+ end
1521
+ name_t[:text]
1522
+ end
1523
+ end
1524
+
1525
+ ##
1526
+ # For the given +container+ and initial name token +name_t+ the method name
1527
+ # and the new +container+ (if necessary) are parsed from the token stream
1528
+ # for a singleton method.
1529
+
1530
+ def parse_method_name_singleton container, name_t # :nodoc:
1531
+ skip_tkspace
1532
+ name_t2 = get_tk
1533
+
1534
+ if (:on_kw == name_t[:kind] && 'self' == name_t[:text]) || (:on_op == name_t[:kind] && '%' == name_t[:text]) then
1535
+ # NOTE: work around '[' being consumed early
1536
+ if :on_lbracket == name_t2[:kind]
1537
+ get_tk
1538
+ name = '[]'
1539
+ else
1540
+ name = name_t2[:text]
1541
+ end
1542
+ elsif :on_const == name_t[:kind] then
1543
+ name = name_t2[:text]
1544
+
1545
+ container = get_method_container container, name_t
1546
+
1547
+ return unless container
1548
+
1549
+ name
1550
+ elsif :on_ident == name_t[:kind] || :on_ivar == name_t[:kind] || :on_gvar == name_t[:kind] then
1551
+ parse_method_dummy container
1552
+
1553
+ name = nil
1554
+ elsif (:on_kw == name_t[:kind]) && ('true' == name_t[:text] || 'false' == name_t[:text] || 'nil' == name_t[:text]) then
1555
+ klass_name = "#{name_t[:text].capitalize}Class"
1556
+ container = @store.find_class_named klass_name
1557
+ container ||= @top_level.add_class RDoc::NormalClass, klass_name
1558
+
1559
+ name = name_t2[:text]
1560
+ else
1561
+ warn "unexpected method name token #{name_t.inspect}"
1562
+ # break
1563
+ skip_method container
1564
+
1565
+ name = nil
1566
+ end
1567
+
1568
+ return name, container
1569
+ end
1570
+
1571
+ ##
1572
+ # Extracts +yield+ parameters from +method+
1573
+
1574
+ def parse_method_or_yield_parameters(method = nil,
1575
+ modifiers = RDoc::METHOD_MODIFIERS)
1576
+ skip_tkspace_without_nl
1577
+ tk = get_tk
1578
+ end_token = get_end_token tk
1579
+ return '' unless end_token
1580
+
1581
+ nest = 0
1582
+ continue = false
1583
+
1584
+ while tk != nil do
1585
+ case tk[:kind]
1586
+ when :on_semicolon then
1587
+ break if nest == 0
1588
+ when :on_lbracket then
1589
+ nest += 1
1590
+ when :on_rbracket then
1591
+ nest -= 1
1592
+ when :on_lbrace then
1593
+ nest += 1
1594
+ when :on_rbrace then
1595
+ nest -= 1
1596
+ if nest <= 0
1597
+ # we might have a.each { |i| yield i }
1598
+ unget_tk(tk) if nest < 0
1599
+ break
1600
+ end
1601
+ when :on_lparen then
1602
+ nest += 1
1603
+ when end_token[:kind] then
1604
+ if end_token[:kind] == :on_rparen
1605
+ nest -= 1
1606
+ break if nest <= 0
1607
+ else
1608
+ break
1609
+ end
1610
+ when :on_rparen then
1611
+ nest -= 1
1612
+ when :on_comment, :on_embdoc then
1613
+ @read.pop
1614
+ if :on_nl == end_token[:kind] and "\n" == tk[:text][-1] and
1615
+ (!continue or (tk[:state] & RDoc::Parser::RipperStateLex::EXPR_LABEL) != 0) then
1616
+ if method && method.block_params.nil? then
1617
+ unget_tk tk
1618
+ read_documentation_modifiers method, modifiers
1619
+ end
1620
+ break if !continue and nest <= 0
1621
+ end
1622
+ when :on_comma then
1623
+ continue = true
1624
+ when :on_ident then
1625
+ continue = false if continue
1626
+ end
1627
+ tk = get_tk
1628
+ end
1629
+
1630
+ get_tkread_clean(/\s+/, ' ')
1631
+ end
1632
+
1633
+ ##
1634
+ # Capture the method's parameters. Along the way, look for a comment
1635
+ # containing:
1636
+ #
1637
+ # # yields: ....
1638
+ #
1639
+ # and add this as the block_params for the method
1640
+
1641
+ def parse_method_parameters method
1642
+ res = parse_method_or_yield_parameters method
1643
+
1644
+ res = "(#{res})" unless res =~ /\A\(/
1645
+ method.params = res unless method.params
1646
+
1647
+ return if method.block_params
1648
+
1649
+ skip_tkspace_without_nl
1650
+ read_documentation_modifiers method, RDoc::METHOD_MODIFIERS
1651
+ end
1652
+
1653
+ ##
1654
+ # Parses an RDoc::NormalModule in +container+ with +comment+
1655
+
1656
+ def parse_module container, single, tk, comment
1657
+ container, name_t, = get_class_or_module container
1658
+
1659
+ name = name_t[:text]
1660
+
1661
+ mod = container.add_module RDoc::NormalModule, name
1662
+ mod.ignore unless container.document_children
1663
+ record_location mod
1664
+
1665
+ read_documentation_modifiers mod, RDoc::CLASS_MODIFIERS
1666
+ mod.add_comment comment, @top_level
1667
+ parse_statements mod
1668
+
1669
+ # after end modifiers
1670
+ read_documentation_modifiers mod, RDoc::CLASS_MODIFIERS
1671
+
1672
+ @stats.add_module mod
1673
+ end
1674
+
1675
+ ##
1676
+ # Parses an RDoc::Require in +context+ containing +comment+
1677
+
1678
+ def parse_require(context, comment)
1679
+ skip_tkspace_comment
1680
+ tk = get_tk
1681
+
1682
+ if :on_lparen == tk[:kind] then
1683
+ skip_tkspace_comment
1684
+ tk = get_tk
1685
+ end
1686
+
1687
+ name = tk[:text][1..-2] if :on_tstring == tk[:kind]
1688
+
1689
+ if name then
1690
+ @top_level.add_require RDoc::Require.new(name, comment)
1691
+ else
1692
+ unget_tk tk
1693
+ end
1694
+ end
1695
+
1696
+ ##
1697
+ # Parses a rescue
1698
+
1699
+ def parse_rescue
1700
+ skip_tkspace_without_nl
1701
+
1702
+ while tk = get_tk
1703
+ case tk[:kind]
1704
+ when :on_nl, :on_semicolon, :on_comment then
1705
+ break
1706
+ when :on_comma then
1707
+ skip_tkspace_without_nl
1708
+
1709
+ get_tk if :on_nl == peek_tk[:kind]
1710
+ end
1711
+
1712
+ skip_tkspace_without_nl
1713
+ end
1714
+ end
1715
+
1716
+ ##
1717
+ # Retrieve comment body without =begin/=end
1718
+
1719
+ def retrieve_comment_body(tk)
1720
+ if :on_embdoc == tk[:kind]
1721
+ tk[:text].gsub(/\A=begin.*\n/, '').gsub(/=end\n?\z/, '')
1722
+ else
1723
+ tk[:text]
1724
+ end
1725
+ end
1726
+
1727
+ ##
1728
+ # The core of the Ruby parser.
1729
+
1730
+ def parse_statements(container, single = NORMAL, current_method = nil,
1731
+ comment = new_comment(''))
1732
+ raise 'no' unless RDoc::Comment === comment
1733
+ comment = RDoc::Encoding.change_encoding comment, @encoding if @encoding
1734
+
1735
+ nest = 1
1736
+ save_visibility = container.visibility
1737
+
1738
+ non_comment_seen = true
1739
+
1740
+ while tk = get_tk do
1741
+ keep_comment = false
1742
+ try_parse_comment = false
1743
+
1744
+ non_comment_seen = true unless (:on_comment == tk[:kind] or :on_embdoc == tk[:kind])
1745
+
1746
+ case tk[:kind]
1747
+ when :on_nl, :on_ignored_nl, :on_comment, :on_embdoc then
1748
+ if :on_nl == tk[:kind] or :on_ignored_nl == tk[:kind]
1749
+ skip_tkspace
1750
+ tk = get_tk
1751
+ else
1752
+ past_tokens = @read.size > 1 ? @read[0..-2] : []
1753
+ nl_position = 0
1754
+ past_tokens.reverse.each_with_index do |read_tk, i|
1755
+ if read_tk =~ /^\n$/ then
1756
+ nl_position = (past_tokens.size - 1) - i
1757
+ break
1758
+ elsif read_tk =~ /^#.*\n$/ then
1759
+ nl_position = ((past_tokens.size - 1) - i) + 1
1760
+ break
1761
+ end
1762
+ end
1763
+ comment_only_line = past_tokens[nl_position..-1].all?{ |c| c =~ /^\s+$/ }
1764
+ unless comment_only_line then
1765
+ tk = get_tk
1766
+ end
1767
+ end
1768
+
1769
+ if tk and (:on_comment == tk[:kind] or :on_embdoc == tk[:kind]) then
1770
+ if non_comment_seen then
1771
+ # Look for RDoc in a comment about to be thrown away
1772
+ non_comment_seen = parse_comment container, tk, comment unless
1773
+ comment.empty?
1774
+
1775
+ comment = ''
1776
+ comment = RDoc::Encoding.change_encoding comment, @encoding if @encoding
1777
+ end
1778
+
1779
+ while tk and (:on_comment == tk[:kind] or :on_embdoc == tk[:kind]) do
1780
+ comment_body = retrieve_comment_body(tk)
1781
+ comment += comment_body
1782
+ comment += "\n" unless "\n" == comment_body.chars.to_a.last
1783
+
1784
+ if comment_body.size > 1 && "\n" == comment_body.chars.to_a.last then
1785
+ skip_tkspace_without_nl # leading spaces
1786
+ end
1787
+ tk = get_tk
1788
+ end
1789
+
1790
+ comment = new_comment comment
1791
+
1792
+ unless comment.empty? then
1793
+ look_for_directives_in container, comment
1794
+
1795
+ if container.done_documenting then
1796
+ throw :eof if RDoc::TopLevel === container
1797
+ container.ongoing_visibility = save_visibility
1798
+ end
1799
+ end
1800
+
1801
+ keep_comment = true
1802
+ else
1803
+ non_comment_seen = true
1804
+ end
1805
+
1806
+ unget_tk tk
1807
+ keep_comment = true
1808
+ container.current_line_visibility = nil
1809
+
1810
+ when :on_kw then
1811
+ case tk[:text]
1812
+ when 'class' then
1813
+ parse_class container, single, tk, comment
1814
+
1815
+ when 'module' then
1816
+ parse_module container, single, tk, comment
1817
+
1818
+ when 'def' then
1819
+ parse_method container, single, tk, comment
1820
+
1821
+ when 'alias' then
1822
+ parse_alias container, single, tk, comment unless current_method
1823
+
1824
+ when 'yield' then
1825
+ if current_method.nil? then
1826
+ warn "Warning: yield outside of method" if container.document_self
1827
+ else
1828
+ parse_yield container, single, tk, current_method
1829
+ end
1830
+
1831
+ when 'until', 'while' then
1832
+ if (tk[:state] & RDoc::Parser::RipperStateLex::EXPR_LABEL) == 0
1833
+ nest += 1
1834
+ skip_optional_do_after_expression
1835
+ end
1836
+
1837
+ # Until and While can have a 'do', which shouldn't increase the nesting.
1838
+ # We can't solve the general case, but we can handle most occurrences by
1839
+ # ignoring a do at the end of a line.
1840
+
1841
+ # 'for' is trickier
1842
+ when 'for' then
1843
+ nest += 1
1844
+ skip_for_variable
1845
+ skip_optional_do_after_expression
1846
+
1847
+ when 'case', 'do', 'if', 'unless', 'begin' then
1848
+ if (tk[:state] & RDoc::Parser::RipperStateLex::EXPR_LABEL) == 0
1849
+ nest += 1
1850
+ end
1851
+
1852
+ when 'super' then
1853
+ current_method.calls_super = true if current_method
1854
+
1855
+ when 'rescue' then
1856
+ parse_rescue
1857
+
1858
+ when 'end' then
1859
+ nest -= 1
1860
+ if nest == 0 then
1861
+ container.ongoing_visibility = save_visibility
1862
+
1863
+ parse_comment container, tk, comment unless comment.empty?
1864
+
1865
+ return
1866
+ end
1867
+ end
1868
+
1869
+ when :on_const then
1870
+ unless parse_constant container, tk, comment, current_method then
1871
+ try_parse_comment = true
1872
+ end
1873
+
1874
+ when :on_ident then
1875
+ if nest == 1 and current_method.nil? then
1876
+ keep_comment = parse_identifier container, single, tk, comment
1877
+ end
1878
+
1879
+ case tk[:text]
1880
+ when "require" then
1881
+ parse_require container, comment
1882
+ when "include" then
1883
+ parse_extend_or_include RDoc::Include, container, comment
1884
+ when "extend" then
1885
+ parse_extend_or_include RDoc::Extend, container, comment
1886
+ end
1887
+
1888
+ else
1889
+ try_parse_comment = nest == 1
1890
+ end
1891
+
1892
+ if try_parse_comment then
1893
+ non_comment_seen = parse_comment container, tk, comment unless
1894
+ comment.empty?
1895
+
1896
+ keep_comment = false
1897
+ end
1898
+
1899
+ unless keep_comment then
1900
+ comment = new_comment ''
1901
+ comment = RDoc::Encoding.change_encoding comment, @encoding if @encoding
1902
+ container.params = nil
1903
+ container.block_params = nil
1904
+ end
1905
+
1906
+ consume_trailing_spaces
1907
+ end
1908
+
1909
+ container.params = nil
1910
+ container.block_params = nil
1911
+ end
1912
+
1913
+ ##
1914
+ # Parse up to +no+ symbol arguments
1915
+
1916
+ def parse_symbol_arg(no = nil)
1917
+ skip_tkspace_comment
1918
+
1919
+ tk = get_tk
1920
+ if tk[:kind] == :on_lparen
1921
+ parse_symbol_arg_paren no
1922
+ else
1923
+ parse_symbol_arg_space no, tk
1924
+ end
1925
+ end
1926
+
1927
+ ##
1928
+ # Parses up to +no+ symbol arguments surrounded by () and places them in
1929
+ # +args+.
1930
+
1931
+ def parse_symbol_arg_paren no # :nodoc:
1932
+ args = []
1933
+
1934
+ loop do
1935
+ skip_tkspace_comment
1936
+ if tk1 = parse_symbol_in_arg
1937
+ args.push tk1
1938
+ break if no and args.size >= no
1939
+ end
1940
+
1941
+ skip_tkspace_comment
1942
+ case (tk2 = get_tk)[:kind]
1943
+ when :on_rparen
1944
+ break
1945
+ when :on_comma
1946
+ else
1947
+ warn("unexpected token: '#{tk2.inspect}'") if $DEBUG_RDOC
1948
+ break
1949
+ end
1950
+ end
1951
+
1952
+ args
1953
+ end
1954
+
1955
+ ##
1956
+ # Parses up to +no+ symbol arguments separated by spaces and places them in
1957
+ # +args+.
1958
+
1959
+ def parse_symbol_arg_space no, tk # :nodoc:
1960
+ args = []
1961
+
1962
+ unget_tk tk
1963
+ if tk = parse_symbol_in_arg
1964
+ args.push tk
1965
+ return args if no and args.size >= no
1966
+ end
1967
+
1968
+ loop do
1969
+ skip_tkspace_without_nl
1970
+
1971
+ tk1 = get_tk
1972
+ if tk1.nil? || :on_comma != tk1[:kind] then
1973
+ unget_tk tk1
1974
+ break
1975
+ end
1976
+
1977
+ skip_tkspace_comment
1978
+ if tk = parse_symbol_in_arg
1979
+ args.push tk
1980
+ break if no and args.size >= no
1981
+ end
1982
+ end
1983
+
1984
+ args
1985
+ end
1986
+
1987
+ ##
1988
+ # Returns symbol text from the next token
1989
+
1990
+ def parse_symbol_in_arg
1991
+ tk = get_tk
1992
+ if :on_symbol == tk[:kind] then
1993
+ tk[:text].sub(/^:/, '')
1994
+ elsif :on_tstring == tk[:kind] then
1995
+ tk[:text][1..-2]
1996
+ elsif :on_dstring == tk[:kind] or :on_ident == tk[:kind] then
1997
+ nil # ignore
1998
+ else
1999
+ warn("Expected symbol or string, got #{tk.inspect}") if $DEBUG_RDOC
2000
+ nil
2001
+ end
2002
+ end
2003
+
2004
+ ##
2005
+ # Parses statements in the top-level +container+
2006
+
2007
+ def parse_top_level_statements container
2008
+ comment = collect_first_comment
2009
+
2010
+ look_for_directives_in container, comment
2011
+
2012
+ throw :eof if container.done_documenting
2013
+
2014
+ @markup = comment.format
2015
+
2016
+ # HACK move if to RDoc::Context#comment=
2017
+ container.comment = comment if container.document_self unless comment.empty?
2018
+
2019
+ parse_statements container, NORMAL, nil, comment
2020
+ end
2021
+
2022
+ ##
2023
+ # Determines the visibility in +container+ from +tk+
2024
+
2025
+ def parse_visibility(container, single, tk)
2026
+ vis_type, vis, singleton = get_visibility_information tk, single
2027
+
2028
+ skip_tkspace_comment false
2029
+
2030
+ ptk = peek_tk
2031
+ # Ryan Davis suggested the extension to ignore modifiers, because he
2032
+ # often writes
2033
+ #
2034
+ # protected unless $TESTING
2035
+ #
2036
+ if [:on_nl, :on_semicolon].include?(ptk[:kind]) || (:on_kw == ptk[:kind] && (['if', 'unless'].include?(ptk[:text]))) then
2037
+ container.ongoing_visibility = vis
2038
+ elsif :on_kw == ptk[:kind] && 'def' == ptk[:text]
2039
+ container.current_line_visibility = vis
2040
+ else
2041
+ update_visibility container, vis_type, vis, singleton
2042
+ end
2043
+ end
2044
+
2045
+ ##
2046
+ # Parses a Module#private_constant or Module#public_constant call from +tk+.
2047
+
2048
+ def parse_constant_visibility(container, single, tk)
2049
+ args = parse_symbol_arg
2050
+ case tk[:text]
2051
+ when 'private_constant'
2052
+ vis = :private
2053
+ when 'public_constant'
2054
+ vis = :public
2055
+ else
2056
+ raise RDoc::Error, 'Unreachable'
2057
+ end
2058
+ container.set_constant_visibility_for args, vis
2059
+ end
2060
+
2061
+ ##
2062
+ # Determines the block parameter for +context+
2063
+
2064
+ def parse_yield(context, single, tk, method)
2065
+ return if method.block_params
2066
+
2067
+ get_tkread
2068
+ method.block_params = parse_method_or_yield_parameters
2069
+ end
2070
+
2071
+ ##
2072
+ # Directives are modifier comments that can appear after class, module, or
2073
+ # method names. For example:
2074
+ #
2075
+ # def fred # :yields: a, b
2076
+ #
2077
+ # or:
2078
+ #
2079
+ # class MyClass # :nodoc:
2080
+ #
2081
+ # We return the directive name and any parameters as a two element array if
2082
+ # the name is in +allowed+. A directive can be found anywhere up to the end
2083
+ # of the current line.
2084
+
2085
+ def read_directive allowed
2086
+ tokens = []
2087
+
2088
+ while tk = get_tk do
2089
+ tokens << tk
2090
+
2091
+ if :on_nl == tk[:kind] or (:on_kw == tk[:kind] && 'def' == tk[:text]) then
2092
+ return
2093
+ elsif :on_comment == tk[:kind] or :on_embdoc == tk[:kind] then
2094
+ return unless tk[:text] =~ /\s*:?([\w-]+):\s*(.*)/
2095
+
2096
+ directive = $1.downcase
2097
+
2098
+ return [directive, $2] if allowed.include? directive
2099
+
2100
+ return
2101
+ end
2102
+ end
2103
+ ensure
2104
+ unless tokens.length == 1 and (:on_comment == tokens.first[:kind] or :on_embdoc == tokens.first[:kind]) then
2105
+ tokens.reverse_each do |token|
2106
+ unget_tk token
2107
+ end
2108
+ end
2109
+ end
2110
+
2111
+ ##
2112
+ # Handles directives following the definition for +context+ (any
2113
+ # RDoc::CodeObject) if the directives are +allowed+ at this point.
2114
+ #
2115
+ # See also RDoc::Markup::PreProcess#handle_directive
2116
+
2117
+ def read_documentation_modifiers context, allowed
2118
+ skip_tkspace_without_nl
2119
+ directive, value = read_directive allowed
2120
+
2121
+ return unless directive
2122
+
2123
+ @preprocess.handle_directive '', directive, value, context do |dir, param|
2124
+ if %w[notnew not_new not-new].include? dir then
2125
+ context.dont_rename_initialize = true
2126
+
2127
+ true
2128
+ end
2129
+ end
2130
+ end
2131
+
2132
+ ##
2133
+ # Records the location of this +container+ in the file for this parser and
2134
+ # adds it to the list of classes and modules in the file.
2135
+
2136
+ def record_location container # :nodoc:
2137
+ case container
2138
+ when RDoc::ClassModule then
2139
+ @top_level.add_to_classes_or_modules container
2140
+ end
2141
+
2142
+ container.record_location @top_level
2143
+ end
2144
+
2145
+ ##
2146
+ # Scans this Ruby file for Ruby constructs
2147
+
2148
+ def scan
2149
+ reset
2150
+
2151
+ catch :eof do
2152
+ begin
2153
+ parse_top_level_statements @top_level
2154
+
2155
+ rescue StandardError => e
2156
+ if @content.include?('<%') and @content.include?('%>') then
2157
+ # Maybe, this is ERB.
2158
+ $stderr.puts "\033[2KRDoc detects ERB file. Skips it for compatibility:"
2159
+ $stderr.puts @file_name
2160
+ return
2161
+ end
2162
+
2163
+ if @scanner_point >= @scanner.size
2164
+ now_line_no = @scanner[@scanner.size - 1][:line_no]
2165
+ else
2166
+ now_line_no = peek_tk[:line_no]
2167
+ end
2168
+ first_tk_index = @scanner.find_index { |tk| tk[:line_no] == now_line_no }
2169
+ last_tk_index = @scanner.find_index { |tk| tk[:line_no] == now_line_no + 1 }
2170
+ last_tk_index = last_tk_index ? last_tk_index - 1 : @scanner.size - 1
2171
+ code = @scanner[first_tk_index..last_tk_index].map{ |t| t[:text] }.join
2172
+
2173
+ $stderr.puts <<-EOF
2174
+
2175
+ #{self.class} failure around line #{now_line_no} of
2176
+ #{@file_name}
2177
+
2178
+ EOF
2179
+
2180
+ unless code.empty? then
2181
+ $stderr.puts code
2182
+ $stderr.puts
2183
+ end
2184
+
2185
+ raise e
2186
+ end
2187
+ end
2188
+
2189
+ @top_level
2190
+ end
2191
+
2192
+ ##
2193
+ # while, until, and for have an optional do
2194
+
2195
+ def skip_optional_do_after_expression
2196
+ skip_tkspace_without_nl
2197
+ tk = get_tk
2198
+
2199
+ b_nest = 0
2200
+ nest = 0
2201
+
2202
+ loop do
2203
+ break unless tk
2204
+ case tk[:kind]
2205
+ when :on_semicolon, :on_nl, :on_ignored_nl then
2206
+ break if b_nest.zero?
2207
+ when :on_lparen then
2208
+ nest += 1
2209
+ when :on_rparen then
2210
+ nest -= 1
2211
+ when :on_kw then
2212
+ case tk[:text]
2213
+ when 'begin'
2214
+ b_nest += 1
2215
+ when 'end'
2216
+ b_nest -= 1
2217
+ when 'do'
2218
+ break if nest.zero?
2219
+ end
2220
+ when :on_comment, :on_embdoc then
2221
+ if b_nest.zero? and "\n" == tk[:text][-1] then
2222
+ break
2223
+ end
2224
+ end
2225
+ tk = get_tk
2226
+ end
2227
+
2228
+ skip_tkspace_without_nl
2229
+
2230
+ get_tk if peek_tk && :on_kw == peek_tk[:kind] && 'do' == peek_tk[:text]
2231
+ end
2232
+
2233
+ ##
2234
+ # skip the var [in] part of a 'for' statement
2235
+
2236
+ def skip_for_variable
2237
+ skip_tkspace_without_nl
2238
+ get_tk
2239
+ skip_tkspace_without_nl
2240
+ tk = get_tk
2241
+ unget_tk(tk) unless :on_kw == tk[:kind] and 'in' == tk[:text]
2242
+ end
2243
+
2244
+ ##
2245
+ # Skips the next method in +container+
2246
+
2247
+ def skip_method container
2248
+ meth = RDoc::AnyMethod.new "", "anon"
2249
+ parse_method_parameters meth
2250
+ parse_statements container, false, meth
2251
+ end
2252
+
2253
+ ##
2254
+ # Skip spaces until a comment is found
2255
+
2256
+ def skip_tkspace_comment(skip_nl = true)
2257
+ loop do
2258
+ skip_nl ? skip_tkspace : skip_tkspace_without_nl
2259
+ next_tk = peek_tk
2260
+ return if next_tk.nil? || (:on_comment != next_tk[:kind] and :on_embdoc != next_tk[:kind])
2261
+ get_tk
2262
+ end
2263
+ end
2264
+
2265
+ ##
2266
+ # Updates visibility in +container+ from +vis_type+ and +vis+.
2267
+
2268
+ def update_visibility container, vis_type, vis, singleton # :nodoc:
2269
+ new_methods = []
2270
+
2271
+ case vis_type
2272
+ when 'module_function' then
2273
+ args = parse_symbol_arg
2274
+ container.set_visibility_for args, :private, false
2275
+
2276
+ container.methods_matching args do |m|
2277
+ s_m = m.dup
2278
+ record_location s_m
2279
+ s_m.singleton = true
2280
+ new_methods << s_m
2281
+ end
2282
+ when 'public_class_method', 'private_class_method' then
2283
+ args = parse_symbol_arg
2284
+
2285
+ container.methods_matching args, true do |m|
2286
+ if m.parent != container then
2287
+ m = m.dup
2288
+ record_location m
2289
+ new_methods << m
2290
+ end
2291
+
2292
+ m.visibility = vis
2293
+ end
2294
+ else
2295
+ args = parse_symbol_arg
2296
+ container.set_visibility_for args, vis, singleton
2297
+ end
2298
+
2299
+ new_methods.each do |method|
2300
+ case method
2301
+ when RDoc::AnyMethod then
2302
+ container.add_method method
2303
+ when RDoc::Attr then
2304
+ container.add_attribute method
2305
+ end
2306
+ method.visibility = vis
2307
+ end
2308
+ end
2309
+
2310
+ ##
2311
+ # Prints +message+ to +$stderr+ unless we're being quiet
2312
+
2313
+ def warn message
2314
+ @options.warn make_message message
2315
+ end
2316
+
2317
+ end