cvss-suite 1.0.8 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (821) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGES.md +14 -0
  4. data/README.md +12 -3
  5. data/cvss_suite.gemspec +1 -9
  6. data/lib/cvss_suite.rb +10 -7
  7. data/lib/cvss_suite/cvss.rb +4 -4
  8. data/lib/cvss_suite/cvss2/cvss2.rb +1 -1
  9. data/lib/cvss_suite/cvss3/cvss3.rb +1 -1
  10. data/lib/cvss_suite/errors.rb +28 -0
  11. data/lib/cvss_suite/invalid_cvss.rb +57 -0
  12. data/lib/cvss_suite/version.rb +1 -1
  13. metadata +6 -812
  14. data/vendor/cache/diff-lcs-1.2.5.gem +0 -0
  15. data/vendor/cache/docile-1.1.5.gem +0 -0
  16. data/vendor/cache/json-1.8.3.gem +0 -0
  17. data/vendor/cache/rdoc-4.2.0.gem +0 -0
  18. data/vendor/cache/rspec-3.4.0.gem +0 -0
  19. data/vendor/cache/rspec-core-3.4.0.gem +0 -0
  20. data/vendor/cache/rspec-expectations-3.4.0.gem +0 -0
  21. data/vendor/cache/rspec-its-1.2.0.gem +0 -0
  22. data/vendor/cache/rspec-mocks-3.4.0.gem +0 -0
  23. data/vendor/cache/rspec-support-3.4.0.gem +0 -0
  24. data/vendor/cache/ruby/2.2.0/bin/badger +0 -23
  25. data/vendor/cache/ruby/2.2.0/bin/htmldiff +0 -25
  26. data/vendor/cache/ruby/2.2.0/bin/ldiff +0 -25
  27. data/vendor/cache/ruby/2.2.0/bin/rspec +0 -23
  28. data/vendor/cache/ruby/2.2.0/bin/thor +0 -23
  29. data/vendor/cache/ruby/2.2.0/cache/badgerbadgerbadger-0.14.0.gem +0 -0
  30. data/vendor/cache/ruby/2.2.0/cache/diff-lcs-1.2.5.gem +0 -0
  31. data/vendor/cache/ruby/2.2.0/cache/docile-1.1.5.gem +0 -0
  32. data/vendor/cache/ruby/2.2.0/cache/git-1.3.0.gem +0 -0
  33. data/vendor/cache/ruby/2.2.0/cache/json-1.8.3.gem +0 -0
  34. data/vendor/cache/ruby/2.2.0/cache/rake-10.4.2.gem +0 -0
  35. data/vendor/cache/ruby/2.2.0/cache/rdoc-4.2.0.gem +0 -0
  36. data/vendor/cache/ruby/2.2.0/cache/rspec-3.4.0.gem +0 -0
  37. data/vendor/cache/ruby/2.2.0/cache/rspec-core-3.4.0.gem +0 -0
  38. data/vendor/cache/ruby/2.2.0/cache/rspec-expectations-3.4.0.gem +0 -0
  39. data/vendor/cache/ruby/2.2.0/cache/rspec-its-1.2.0.gem +0 -0
  40. data/vendor/cache/ruby/2.2.0/cache/rspec-mocks-3.4.0.gem +0 -0
  41. data/vendor/cache/ruby/2.2.0/cache/rspec-support-3.4.0.gem +0 -0
  42. data/vendor/cache/ruby/2.2.0/cache/simplecov-0.11.2.gem +0 -0
  43. data/vendor/cache/ruby/2.2.0/cache/simplecov-html-0.10.0.gem +0 -0
  44. data/vendor/cache/ruby/2.2.0/cache/thor-0.19.1.gem +0 -0
  45. data/vendor/cache/ruby/2.2.0/extensions/x86-linux/2.2.0/json-1.8.3/gem.build_complete +0 -0
  46. data/vendor/cache/ruby/2.2.0/extensions/x86-linux/2.2.0/json-1.8.3/gem_make.out +0 -9
  47. data/vendor/cache/ruby/2.2.0/extensions/x86-linux/2.2.0/json-1.8.3/json/ext/generator.so +0 -0
  48. data/vendor/cache/ruby/2.2.0/extensions/x86-linux/2.2.0/json-1.8.3/json/ext/parser.so +0 -0
  49. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/.gitignore +0 -19
  50. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/.rspec +0 -2
  51. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/.travis.yml +0 -15
  52. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/DESC.md +0 -27
  53. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/Gemfile +0 -7
  54. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/Guardfile +0 -30
  55. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/LICENSE.md +0 -22
  56. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/README.md +0 -53
  57. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/Rakefile +0 -10
  58. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/badger.gemspec +0 -34
  59. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/bin/badger +0 -4
  60. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/config/config.yaml +0 -8
  61. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/config/licenses.yaml +0 -25
  62. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/config/services.yaml +0 -40
  63. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/alternative-styles.feature +0 -24
  64. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/badger.feature +0 -50
  65. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/heroku-only-remote.feature +0 -12
  66. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/licenses.feature +0 -61
  67. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/multiple-remotes.feature +0 -18
  68. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/png.feature +0 -17
  69. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/pulls-and-issues.feature +0 -19
  70. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/remote-with-different-name.feature +0 -17
  71. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/rubygems.feature +0 -46
  72. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/services.feature +0 -53
  73. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/size.feature +0 -18
  74. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/ssh-remote.feature +0 -39
  75. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/step_definitions/badger_steps.rb +0 -11
  76. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/env.rb +0 -11
  77. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/apache.txt +0 -202
  78. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/doge.md +0 -1
  79. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/gpl-2.0.txt +0 -339
  80. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/gpl-3.0.txt +0 -674
  81. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/mit.md +0 -22
  82. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/hooks/hooks.rb +0 -15
  83. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/hooks/licenses.rb +0 -19
  84. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/hooks/rubygems.rb +0 -66
  85. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/hooks/services.rb +0 -17
  86. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger.rb +0 -15
  87. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/badge.rb +0 -20
  88. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/badger.rb +0 -61
  89. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/bonus.rb +0 -17
  90. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/cli.rb +0 -56
  91. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/config.rb +0 -49
  92. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/helpers.rb +0 -95
  93. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/license.rb +0 -22
  94. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/rubygem.rb +0 -16
  95. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/service.rb +0 -46
  96. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/version.rb +0 -3
  97. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/badge_types_spec.rb +0 -27
  98. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/badger_spec.rb +0 -62
  99. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/licenses_spec.rb +0 -42
  100. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/services_spec.rb +0 -33
  101. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/size_spec.rb +0 -20
  102. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/spec_helper.rb +0 -22
  103. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/user_and_repo_spec.rb +0 -33
  104. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.autotest +0 -3
  105. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.gemtest +0 -0
  106. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.hoerc +0 -2
  107. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.rspec +0 -2
  108. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.travis.yml +0 -22
  109. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/Contributing.rdoc +0 -64
  110. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/Gemfile +0 -20
  111. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/History.rdoc +0 -152
  112. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/License.rdoc +0 -39
  113. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/Manifest.txt +0 -38
  114. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/README.rdoc +0 -85
  115. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/Rakefile +0 -41
  116. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/autotest/discover.rb +0 -1
  117. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/bin/htmldiff +0 -32
  118. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/bin/ldiff +0 -6
  119. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/docs/COPYING.txt +0 -339
  120. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/docs/artistic.txt +0 -127
  121. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +0 -3
  122. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +0 -805
  123. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +0 -7
  124. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +0 -37
  125. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +0 -322
  126. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +0 -177
  127. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +0 -149
  128. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +0 -276
  129. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +0 -301
  130. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +0 -195
  131. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +0 -5
  132. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/change_spec.rb +0 -65
  133. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/diff_spec.rb +0 -47
  134. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/hunk_spec.rb +0 -72
  135. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/issues_spec.rb +0 -24
  136. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/lcs_spec.rb +0 -54
  137. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/patch_spec.rb +0 -414
  138. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/sdiff_spec.rb +0 -214
  139. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/spec_helper.rb +0 -290
  140. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +0 -310
  141. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +0 -139
  142. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.gitignore +0 -9
  143. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.rspec +0 -2
  144. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.ruby-gemset +0 -1
  145. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.ruby-version +0 -1
  146. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.travis.yml +0 -21
  147. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.yardopts +0 -7
  148. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/Gemfile +0 -4
  149. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/HISTORY.md +0 -61
  150. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/LICENSE +0 -21
  151. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/README.md +0 -241
  152. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/Rakefile +0 -28
  153. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/docile.gemspec +0 -43
  154. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile.rb +0 -84
  155. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile/chaining_fallback_context_proxy.rb +0 -20
  156. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile/execution.rb +0 -35
  157. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile/fallback_context_proxy.rb +0 -63
  158. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile/version.rb +0 -4
  159. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/on_what.rb +0 -14
  160. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/spec/docile_spec.rb +0 -339
  161. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/spec/spec_helper.rb +0 -30
  162. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/CHANGELOG +0 -84
  163. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/LICENSE +0 -21
  164. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/README.md +0 -297
  165. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/VERSION +0 -2
  166. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git.rb +0 -166
  167. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/author.rb +0 -14
  168. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/base.rb +0 -540
  169. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/base/factory.rb +0 -75
  170. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/branch.rb +0 -122
  171. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/branches.rb +0 -71
  172. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/config.rb +0 -22
  173. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/diff.rb +0 -158
  174. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/index.rb +0 -5
  175. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/lib.rb +0 -1011
  176. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/log.rb +0 -128
  177. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/object.rb +0 -312
  178. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/path.rb +0 -31
  179. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/remote.rb +0 -36
  180. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/repository.rb +0 -6
  181. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/stash.rb +0 -27
  182. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/stashes.rb +0 -44
  183. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/status.rb +0 -117
  184. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/version.rb +0 -7
  185. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/working_directory.rb +0 -4
  186. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/.gitignore +0 -16
  187. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/.travis.yml +0 -26
  188. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/CHANGES +0 -295
  189. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/COPYING +0 -58
  190. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/COPYING-json-jruby +0 -57
  191. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/GPL +0 -340
  192. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/Gemfile +0 -10
  193. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/README-json-jruby.markdown +0 -33
  194. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/README.rdoc +0 -358
  195. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/Rakefile +0 -412
  196. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/TODO +0 -1
  197. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/VERSION +0 -1
  198. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/data/example.json +0 -1
  199. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/data/index.html +0 -38
  200. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/data/prototype.js +0 -4184
  201. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/diagrams/.keep +0 -0
  202. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/fbuffer/fbuffer.h +0 -190
  203. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/.RUBYARCHDIR.-.json.-.ext.time +0 -0
  204. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/depend +0 -1
  205. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/extconf.rb +0 -4
  206. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/generator.c +0 -1458
  207. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/generator.h +0 -166
  208. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/generator.so +0 -0
  209. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/.RUBYARCHDIR.-.json.-.ext.time +0 -0
  210. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/depend +0 -1
  211. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/extconf.rb +0 -3
  212. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/parser.c +0 -2216
  213. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/parser.h +0 -92
  214. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/parser.rl +0 -939
  215. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/parser.so +0 -0
  216. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/extconf.rb +0 -3
  217. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/install.rb +0 -23
  218. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/ByteListTranscoder.java +0 -167
  219. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/Generator.java +0 -444
  220. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/GeneratorMethods.java +0 -232
  221. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/GeneratorService.java +0 -43
  222. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/GeneratorState.java +0 -543
  223. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/OptionsReader.java +0 -114
  224. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/Parser.java +0 -2645
  225. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/Parser.rl +0 -969
  226. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/ParserService.java +0 -35
  227. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/RuntimeInfo.java +0 -121
  228. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/StringDecoder.java +0 -167
  229. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/StringEncoder.java +0 -106
  230. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/Utils.java +0 -89
  231. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/json-java.gemspec +0 -23
  232. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/json.gemspec +0 -0
  233. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/json_pure.gemspec +0 -40
  234. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json.rb +0 -62
  235. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/bigdecimal.rb +0 -28
  236. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/complex.rb +0 -28
  237. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/core.rb +0 -11
  238. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/date.rb +0 -34
  239. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/date_time.rb +0 -50
  240. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/exception.rb +0 -31
  241. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/ostruct.rb +0 -31
  242. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/range.rb +0 -29
  243. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/rational.rb +0 -27
  244. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/regexp.rb +0 -30
  245. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/struct.rb +0 -30
  246. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/symbol.rb +0 -25
  247. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/time.rb +0 -38
  248. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/common.rb +0 -484
  249. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/ext.rb +0 -21
  250. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/ext/.keep +0 -0
  251. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/ext/generator.so +0 -0
  252. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/ext/parser.so +0 -0
  253. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/generic_object.rb +0 -70
  254. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/pure.rb +0 -21
  255. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/pure/generator.rb +0 -522
  256. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/pure/parser.rb +0 -359
  257. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/version.rb +0 -8
  258. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail1.json +0 -1
  259. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail10.json +0 -1
  260. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail11.json +0 -1
  261. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail12.json +0 -1
  262. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail13.json +0 -1
  263. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail14.json +0 -1
  264. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail18.json +0 -1
  265. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail19.json +0 -1
  266. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail2.json +0 -1
  267. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail20.json +0 -1
  268. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail21.json +0 -1
  269. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail22.json +0 -1
  270. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail23.json +0 -1
  271. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail24.json +0 -1
  272. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail25.json +0 -1
  273. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail27.json +0 -2
  274. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail28.json +0 -2
  275. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail3.json +0 -1
  276. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail4.json +0 -1
  277. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail5.json +0 -1
  278. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail6.json +0 -1
  279. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail7.json +0 -1
  280. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail8.json +0 -1
  281. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail9.json +0 -1
  282. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass1.json +0 -56
  283. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass15.json +0 -1
  284. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass16.json +0 -1
  285. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass17.json +0 -1
  286. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass2.json +0 -1
  287. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass26.json +0 -1
  288. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass3.json +0 -6
  289. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/setup_variant.rb +0 -11
  290. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json.rb +0 -553
  291. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_addition.rb +0 -196
  292. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_encoding.rb +0 -65
  293. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_fixtures.rb +0 -35
  294. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_generate.rb +0 -337
  295. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_generic_object.rb +0 -75
  296. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_string_matching.rb +0 -39
  297. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_unicode.rb +0 -72
  298. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tools/fuzz.rb +0 -139
  299. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tools/server.rb +0 -62
  300. data/vendor/cache/ruby/2.2.0/gems/rspec-3.4.0/LICENSE.md +0 -27
  301. data/vendor/cache/ruby/2.2.0/gems/rspec-3.4.0/README.md +0 -39
  302. data/vendor/cache/ruby/2.2.0/gems/rspec-3.4.0/lib/rspec.rb +0 -3
  303. data/vendor/cache/ruby/2.2.0/gems/rspec-3.4.0/lib/rspec/version.rb +0 -5
  304. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/.document +0 -5
  305. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/.yardopts +0 -8
  306. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/Changelog.md +0 -1925
  307. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/LICENSE.md +0 -26
  308. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/README.md +0 -384
  309. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/exe/rspec +0 -4
  310. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/autorun.rb +0 -3
  311. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core.rb +0 -181
  312. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/backtrace_formatter.rb +0 -64
  313. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/bisect/coordinator.rb +0 -66
  314. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/bisect/example_minimizer.rb +0 -169
  315. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/bisect/runner.rb +0 -139
  316. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/bisect/server.rb +0 -61
  317. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/configuration.rb +0 -1869
  318. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/configuration_options.rb +0 -191
  319. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/drb.rb +0 -111
  320. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/dsl.rb +0 -96
  321. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/example.rb +0 -620
  322. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/example_group.rb +0 -816
  323. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/example_status_persister.rb +0 -235
  324. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/filter_manager.rb +0 -231
  325. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/flat_map.rb +0 -20
  326. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters.rb +0 -255
  327. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/base_formatter.rb +0 -70
  328. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/base_text_formatter.rb +0 -77
  329. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/bisect_formatter.rb +0 -68
  330. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -144
  331. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/console_codes.rb +0 -65
  332. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  333. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/documentation_formatter.rb +0 -70
  334. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/exception_presenter.rb +0 -480
  335. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  336. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/helpers.rb +0 -109
  337. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/html_formatter.rb +0 -151
  338. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/html_printer.rb +0 -414
  339. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -116
  340. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/json_formatter.rb +0 -96
  341. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  342. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/progress_formatter.rb +0 -28
  343. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/protocol.rb +0 -181
  344. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/snippet_extractor.rb +0 -143
  345. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/hooks.rb +0 -638
  346. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/memoized_helpers.rb +0 -532
  347. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/metadata.rb +0 -491
  348. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/metadata_filter.rb +0 -240
  349. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  350. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  351. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  352. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/null.rb +0 -14
  353. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  354. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  355. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/notifications.rb +0 -499
  356. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/option_parser.rb +0 -319
  357. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/ordering.rb +0 -158
  358. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/pending.rb +0 -165
  359. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/profiler.rb +0 -32
  360. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/project_initializer.rb +0 -48
  361. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/project_initializer/.rspec +0 -2
  362. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -96
  363. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/rake_task.rb +0 -167
  364. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/reporter.rb +0 -236
  365. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/ruby_project.rb +0 -53
  366. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/runner.rb +0 -179
  367. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/sandbox.rb +0 -37
  368. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/set.rb +0 -49
  369. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/shared_context.rb +0 -55
  370. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/shared_example_group.rb +0 -212
  371. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/shell_escape.rb +0 -49
  372. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source.rb +0 -76
  373. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source/location.rb +0 -13
  374. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source/node.rb +0 -93
  375. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source/syntax_highlighter.rb +0 -71
  376. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source/token.rb +0 -43
  377. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  378. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/version.rb +0 -9
  379. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/warnings.rb +0 -40
  380. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/world.rb +0 -197
  381. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/.document +0 -5
  382. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/.yardopts +0 -6
  383. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/Changelog.md +0 -979
  384. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/LICENSE.md +0 -25
  385. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/README.md +0 -303
  386. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations.rb +0 -81
  387. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/configuration.rb +0 -164
  388. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb +0 -113
  389. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb +0 -31
  390. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb +0 -194
  391. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb +0 -170
  392. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/minitest_integration.rb +0 -31
  393. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/syntax.rb +0 -132
  394. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/version.rb +0 -8
  395. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers.rb +0 -1037
  396. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/aliased_matcher.rb +0 -116
  397. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in.rb +0 -52
  398. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/all.rb +0 -85
  399. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/base_matcher.rb +0 -181
  400. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be.rb +0 -285
  401. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_between.rb +0 -77
  402. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_instance_of.rb +0 -22
  403. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_kind_of.rb +0 -16
  404. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_within.rb +0 -72
  405. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/change.rb +0 -354
  406. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/compound.rb +0 -272
  407. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/contain_exactly.rb +0 -286
  408. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/cover.rb +0 -24
  409. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/eq.rb +0 -40
  410. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/eql.rb +0 -34
  411. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/equal.rb +0 -81
  412. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/exist.rb +0 -86
  413. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/has.rb +0 -103
  414. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  415. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/include.rb +0 -130
  416. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/match.rb +0 -106
  417. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/operators.rb +0 -128
  418. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/output.rb +0 -200
  419. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/raise_error.rb +0 -228
  420. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/respond_to.rb +0 -90
  421. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/satisfy.rb +0 -37
  422. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  423. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  424. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/yield.rb +0 -419
  425. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/composable.rb +0 -185
  426. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/dsl.rb +0 -453
  427. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/english_phrasing.rb +0 -42
  428. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -73
  429. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/fail_matchers.rb +0 -42
  430. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/generated_descriptions.rb +0 -42
  431. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/matcher_delegator.rb +0 -35
  432. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/matcher_protocol.rb +0 -99
  433. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/.gitignore +0 -19
  434. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/.rspec +0 -3
  435. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/.travis.yml +0 -24
  436. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/Changelog.md +0 -49
  437. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/Gemfile +0 -26
  438. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/LICENSE.txt +0 -27
  439. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/README.md +0 -72
  440. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/Rakefile +0 -16
  441. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/cucumber.yml +0 -2
  442. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/features/its.feature +0 -125
  443. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/features/step_definitions/additional_cli_steps.rb +0 -21
  444. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/features/support/env.rb +0 -23
  445. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/lib/rspec/its.rb +0 -149
  446. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/lib/rspec/its/version.rb +0 -5
  447. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/rspec-its.gemspec +0 -28
  448. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/script/test_all +0 -20
  449. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/spec/rspec/its_spec.rb +0 -237
  450. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/spec/spec_helper.rb +0 -15
  451. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/.document +0 -5
  452. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/.yardopts +0 -6
  453. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/Changelog.md +0 -984
  454. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/LICENSE.md +0 -25
  455. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/README.md +0 -445
  456. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks.rb +0 -126
  457. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance.rb +0 -11
  458. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/chain.rb +0 -110
  459. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  460. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -35
  461. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -48
  462. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  463. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  464. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/recorder.rb +0 -264
  465. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/stub_chain.rb +0 -46
  466. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -27
  467. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  468. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/argument_matchers.rb +0 -320
  469. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/configuration.rb +0 -205
  470. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/error_generator.rb +0 -367
  471. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/example_methods.rb +0 -422
  472. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/instance_method_stasher.rb +0 -134
  473. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/marshal_extension.rb +0 -41
  474. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  475. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/have_received.rb +0 -128
  476. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/receive.rb +0 -130
  477. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -80
  478. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/receive_messages.rb +0 -75
  479. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/message_chain.rb +0 -87
  480. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/message_expectation.rb +0 -717
  481. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/method_double.rb +0 -287
  482. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/method_reference.rb +0 -192
  483. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/mutate_const.rb +0 -335
  484. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/object_reference.rb +0 -149
  485. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/order_group.rb +0 -81
  486. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/proxy.rb +0 -484
  487. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/space.rb +0 -238
  488. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/standalone.rb +0 -3
  489. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/syntax.rb +0 -325
  490. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/targets.rb +0 -97
  491. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/test_double.rb +0 -170
  492. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/verifying_double.rb +0 -129
  493. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  494. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/verifying_proxy.rb +0 -213
  495. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/version.rb +0 -9
  496. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/Changelog.md +0 -141
  497. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/LICENSE.md +0 -23
  498. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/README.md +0 -40
  499. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support.rb +0 -139
  500. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/caller_filter.rb +0 -83
  501. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/comparable_version.rb +0 -46
  502. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/differ.rb +0 -215
  503. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/directory_maker.rb +0 -63
  504. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/encoded_string.rb +0 -155
  505. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/fuzzy_matcher.rb +0 -48
  506. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/hunk_generator.rb +0 -47
  507. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/matcher_definition.rb +0 -42
  508. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/method_signature_verifier.rb +0 -290
  509. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/mutex.rb +0 -73
  510. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/object_formatter.rb +0 -108
  511. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/recursive_const_methods.rb +0 -76
  512. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/reentrant_mutex.rb +0 -53
  513. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/ruby_features.rb +0 -147
  514. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec.rb +0 -81
  515. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  516. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/formatting_support.rb +0 -9
  517. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/in_sub_process.rb +0 -52
  518. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/library_wide_checks.rb +0 -152
  519. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/shell_out.rb +0 -71
  520. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/stderr_splitter.rb +0 -63
  521. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/string_matcher.rb +0 -46
  522. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/with_isolated_directory.rb +0 -9
  523. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  524. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/version.rb +0 -7
  525. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/version_checker.rb +0 -53
  526. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/warnings.rb +0 -39
  527. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.gitignore +0 -31
  528. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.rspec +0 -3
  529. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.rubocop.yml +0 -73
  530. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.travis.yml +0 -27
  531. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.yardopts +0 -1
  532. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/CHANGELOG.md +0 -391
  533. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/CONTRIBUTING.md +0 -48
  534. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/Gemfile +0 -34
  535. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/MIT-LICENSE +0 -20
  536. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/README.md +0 -646
  537. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/Rakefile +0 -36
  538. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/cucumber.yml +0 -13
  539. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/doc/alternate-formatters.md +0 -36
  540. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/doc/commercial-services.md +0 -20
  541. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/doc/editor-integration.md +0 -13
  542. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_autoload.feature +0 -46
  543. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_command_name.feature +0 -45
  544. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_coverage_dir.feature +0 -33
  545. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_deactivate_merging.feature +0 -42
  546. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_formatters.feature +0 -77
  547. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_merge_timeout.feature +0 -39
  548. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_nocov_token.feature +0 -79
  549. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_profiles.feature +0 -44
  550. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_project_name.feature +0 -27
  551. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_styles.feature +0 -121
  552. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_tracked_files.feature +0 -29
  553. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/cucumber_basic.feature +0 -29
  554. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/maximum_coverage_drop.feature +0 -36
  555. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/merging_test_unit_and_rspec.feature +0 -44
  556. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/minimum_coverage.feature +0 -59
  557. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/refuse_coverage_drop.feature +0 -35
  558. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_basic.feature +0 -32
  559. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_fails_on_initialization.feature +0 -14
  560. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_groups_and_filters_basic.feature +0 -29
  561. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_groups_and_filters_complex.feature +0 -37
  562. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_groups_using_filter_class.feature +0 -41
  563. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_without_simplecov.feature +0 -20
  564. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/skipping_code_blocks_manually.feature +0 -70
  565. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/step_definitions/html_steps.rb +0 -44
  566. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/step_definitions/simplecov_steps.rb +0 -68
  567. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/step_definitions/transformers.rb +0 -13
  568. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/step_definitions/web_steps.rb +0 -64
  569. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/support/env.rb +0 -50
  570. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_basic.feature +0 -34
  571. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_groups_and_filters_basic.feature +0 -29
  572. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_groups_and_filters_complex.feature +0 -35
  573. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_groups_using_filter_class.feature +0 -40
  574. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_without_simplecov.feature +0 -20
  575. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/unicode_compatiblity.feature +0 -67
  576. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov.rb +0 -183
  577. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/command_guesser.rb +0 -59
  578. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/configuration.rb +0 -296
  579. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/defaults.rb +0 -122
  580. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/exit_codes.rb +0 -8
  581. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/file_list.rb +0 -59
  582. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/filter.rb +0 -54
  583. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/formatter.rb +0 -8
  584. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/formatter/multi_formatter.rb +0 -32
  585. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/formatter/simple_formatter.rb +0 -23
  586. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/jruby_fix.rb +0 -42
  587. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/last_run.rb +0 -22
  588. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/merge_helpers.rb +0 -35
  589. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/no_defaults.rb +0 -2
  590. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/profiles.rb +0 -31
  591. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/railtie.rb +0 -7
  592. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/railties/tasks.rake +0 -11
  593. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/result.rb +0 -82
  594. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/result_merger.rb +0 -88
  595. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/source_file.rb +0 -190
  596. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/version.rb +0 -25
  597. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/simplecov.gemspec +0 -27
  598. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/1_8_fallbacks_spec.rb +0 -29
  599. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/command_guesser_spec.rb +0 -46
  600. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/deleted_source_spec.rb +0 -12
  601. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/Gemfile +0 -6
  602. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/Rakefile +0 -8
  603. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/cucumber.yml +0 -13
  604. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/features/step_definitions/my_steps.rb +0 -22
  605. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/features/support/env.rb +0 -12
  606. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/features/test_stuff.feature +0 -6
  607. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project.rb +0 -11
  608. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project/framework_specific.rb +0 -18
  609. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project/meta_magic.rb +0 -24
  610. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project/some_class.rb +0 -28
  611. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project/untested_class.rb +0 -11
  612. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/faked_spec.rb +0 -11
  613. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/forking_spec.rb +0 -7
  614. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/meta_magic_spec.rb +0 -15
  615. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/some_class_spec.rb +0 -13
  616. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/spec_helper.rb +0 -11
  617. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/test/faked_test.rb +0 -11
  618. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/test/meta_magic_test.rb +0 -13
  619. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/test/some_class_test.rb +0 -15
  620. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/test/test_helper.rb +0 -12
  621. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/file_list_spec.rb +0 -48
  622. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/filters_spec.rb +0 -96
  623. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/app/controllers/sample_controller.rb +0 -10
  624. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/app/models/user.rb +0 -10
  625. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/deleted_source_sample.rb +0 -15
  626. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/frameworks/rspec_bad.rb +0 -9
  627. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/frameworks/rspec_good.rb +0 -9
  628. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/frameworks/testunit_bad.rb +0 -9
  629. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/frameworks/testunit_good.rb +0 -9
  630. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/iso-8859.rb +0 -3
  631. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/resultset1.rb +0 -4
  632. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/resultset2.rb +0 -4
  633. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/sample.rb +0 -16
  634. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/utf-8.rb +0 -3
  635. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/helper.rb +0 -24
  636. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/merge_helpers_spec.rb +0 -108
  637. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/multi_formatter_spec.rb +0 -20
  638. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/result_spec.rb +0 -207
  639. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/return_codes_spec.rb +0 -37
  640. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/source_file_line_spec.rb +0 -153
  641. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/source_file_spec.rb +0 -75
  642. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/.document +0 -5
  643. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/.gitignore +0 -27
  644. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/.rubocop.yml +0 -50
  645. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/.travis.yml +0 -27
  646. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/Gemfile +0 -22
  647. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/Guardfile +0 -12
  648. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/LICENSE +0 -20
  649. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/README.md +0 -30
  650. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/Rakefile +0 -41
  651. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/application.js +0 -127
  652. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/libraries/jquery-1.6.2.min.js +0 -18
  653. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/highlight.pack.js +0 -1
  654. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/jquery.colorbox.js +0 -1090
  655. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/jquery.dataTables.min.js +0 -152
  656. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/jquery.timeago.js +0 -141
  657. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/jquery.url.js +0 -174
  658. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/application.css +0 -3
  659. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/plugins/highlight.css +0 -129
  660. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/plugins/jquery-ui-1.8.4.custom.css +0 -295
  661. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/plugins/jquery.colorbox.css +0 -52
  662. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/reset.css +0 -103
  663. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/screen.css.sass +0 -220
  664. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/lib/simplecov-html.rb +0 -110
  665. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/lib/simplecov-html/version.rb +0 -27
  666. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/application.css +0 -799
  667. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/application.js +0 -1707
  668. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/colorbox/border.png +0 -0
  669. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/colorbox/controls.png +0 -0
  670. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/colorbox/loading.gif +0 -0
  671. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/colorbox/loading_background.png +0 -0
  672. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/favicon_green.png +0 -0
  673. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/favicon_red.png +0 -0
  674. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/favicon_yellow.png +0 -0
  675. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/loading.gif +0 -0
  676. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/magnify.png +0 -0
  677. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  678. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  679. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  680. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  681. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  682. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  683. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  684. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  685. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_222222_256x240.png +0 -0
  686. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  687. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_454545_256x240.png +0 -0
  688. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_888888_256x240.png +0 -0
  689. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  690. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/simplecov-html.gemspec +0 -22
  691. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/test/helper.rb +0 -4
  692. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/test/test_simple_cov-html.rb +0 -8
  693. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/views/file_list.erb +0 -45
  694. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/views/layout.erb +0 -41
  695. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/views/source_file.erb +0 -23
  696. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/.document +0 -5
  697. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/CHANGELOG.md +0 -139
  698. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/LICENSE.md +0 -20
  699. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/README.md +0 -41
  700. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/Thorfile +0 -29
  701. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/bin/thor +0 -6
  702. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor.rb +0 -484
  703. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions.rb +0 -319
  704. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb +0 -103
  705. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/create_link.rb +0 -59
  706. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/directory.rb +0 -118
  707. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb +0 -135
  708. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/file_manipulation.rb +0 -316
  709. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb +0 -107
  710. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/base.rb +0 -656
  711. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/command.rb +0 -133
  712. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -77
  713. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/core_ext/io_binary_read.rb +0 -10
  714. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/core_ext/ordered_hash.rb +0 -98
  715. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/error.rb +0 -32
  716. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/group.rb +0 -281
  717. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb +0 -178
  718. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/line_editor.rb +0 -17
  719. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/line_editor/basic.rb +0 -35
  720. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/line_editor/readline.rb +0 -88
  721. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser.rb +0 -4
  722. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser/argument.rb +0 -73
  723. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser/arguments.rb +0 -175
  724. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser/option.rb +0 -125
  725. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser/options.rb +0 -218
  726. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/rake_compat.rb +0 -71
  727. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/runner.rb +0 -322
  728. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/shell.rb +0 -81
  729. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/shell/basic.rb +0 -421
  730. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/shell/color.rb +0 -149
  731. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/shell/html.rb +0 -126
  732. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/util.rb +0 -267
  733. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/version.rb +0 -3
  734. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/create_file_spec.rb +0 -168
  735. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/create_link_spec.rb +0 -96
  736. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/directory_spec.rb +0 -169
  737. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/empty_directory_spec.rb +0 -129
  738. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/file_manipulation_spec.rb +0 -392
  739. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/inject_into_file_spec.rb +0 -135
  740. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions_spec.rb +0 -331
  741. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/base_spec.rb +0 -298
  742. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/command_spec.rb +0 -79
  743. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/core_ext/hash_with_indifferent_access_spec.rb +0 -48
  744. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/core_ext/ordered_hash_spec.rb +0 -115
  745. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/exit_condition_spec.rb +0 -19
  746. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/application.rb +0 -2
  747. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/app{1}/README +0 -3
  748. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/bundle/execute.rb +0 -6
  749. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/bundle/main.thor +0 -1
  750. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/command.thor +0 -10
  751. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/%file_name%.rb.tt +0 -1
  752. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/COMMENTER +0 -11
  753. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/README +0 -3
  754. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/block_helper.rb +0 -3
  755. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/config.rb +0 -1
  756. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/config.yaml.tt +0 -1
  757. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/excluding/%file_name%.rb.tt +0 -1
  758. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/enum.thor +0 -10
  759. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/group.thor +0 -128
  760. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/invoke.thor +0 -131
  761. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/path with spaces b/data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/path with → spaces +0 -0
  762. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/preserve/script.sh +0 -3
  763. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/script.thor +0 -220
  764. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/subcommand.thor +0 -17
  765. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/group_spec.rb +0 -222
  766. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/helper.rb +0 -80
  767. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/invocation_spec.rb +0 -120
  768. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb +0 -28
  769. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/readline_spec.rb +0 -69
  770. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor_spec.rb +0 -43
  771. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/parser/argument_spec.rb +0 -53
  772. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/parser/arguments_spec.rb +0 -66
  773. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/parser/option_spec.rb +0 -210
  774. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/parser/options_spec.rb +0 -414
  775. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/quality_spec.rb +0 -75
  776. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/rake_compat_spec.rb +0 -72
  777. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/register_spec.rb +0 -227
  778. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/runner_spec.rb +0 -246
  779. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/application.rb +0 -2
  780. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/app{1}/README +0 -3
  781. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/bundle/execute.rb +0 -6
  782. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/bundle/main.thor +0 -1
  783. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/command.thor +0 -10
  784. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/%file_name%.rb.tt +0 -1
  785. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/COMMENTER +0 -11
  786. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/README +0 -3
  787. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/block_helper.rb +0 -3
  788. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/config.rb +0 -1
  789. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/config.yaml.tt +0 -1
  790. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/excluding/%file_name%.rb.tt +0 -1
  791. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/enum.thor +0 -10
  792. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/group.thor +0 -128
  793. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/invoke.thor +0 -131
  794. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/path with spaces b/data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/path with → spaces +0 -0
  795. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/preserve/script.sh +0 -3
  796. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/script.thor +0 -220
  797. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/subcommand.thor +0 -17
  798. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/shell/basic_spec.rb +0 -337
  799. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/shell/color_spec.rb +0 -119
  800. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/shell/html_spec.rb +0 -31
  801. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/shell_spec.rb +0 -47
  802. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/subcommand_spec.rb +0 -48
  803. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/thor_spec.rb +0 -505
  804. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/util_spec.rb +0 -196
  805. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/thor.gemspec +0 -24
  806. data/vendor/cache/ruby/2.2.0/specifications/badgerbadgerbadger-0.14.0.gemspec +0 -70
  807. data/vendor/cache/ruby/2.2.0/specifications/diff-lcs-1.2.5.gemspec +0 -68
  808. data/vendor/cache/ruby/2.2.0/specifications/docile-1.1.5.gemspec +0 -48
  809. data/vendor/cache/ruby/2.2.0/specifications/git-1.3.0.gemspec +0 -42
  810. data/vendor/cache/ruby/2.2.0/specifications/json-1.8.3.gemspec +0 -0
  811. data/vendor/cache/ruby/2.2.0/specifications/rspec-3.4.0.gemspec +0 -42
  812. data/vendor/cache/ruby/2.2.0/specifications/rspec-core-3.4.0.gemspec +0 -68
  813. data/vendor/cache/ruby/2.2.0/specifications/rspec-expectations-3.4.0.gemspec +0 -50
  814. data/vendor/cache/ruby/2.2.0/specifications/rspec-its-1.2.0.gemspec +0 -47
  815. data/vendor/cache/ruby/2.2.0/specifications/rspec-mocks-3.4.0.gemspec +0 -50
  816. data/vendor/cache/ruby/2.2.0/specifications/rspec-support-3.4.0.gemspec +0 -41
  817. data/vendor/cache/ruby/2.2.0/specifications/simplecov-0.11.2.gemspec +0 -42
  818. data/vendor/cache/ruby/2.2.0/specifications/simplecov-html-0.10.0.gemspec +0 -33
  819. data/vendor/cache/ruby/2.2.0/specifications/thor-0.19.1.gemspec +0 -34
  820. data/vendor/cache/simplecov-0.11.2.gem +0 -0
  821. data/vendor/cache/simplecov-html-0.10.0.gem +0 -0
@@ -1,166 +0,0 @@
1
- #ifndef _GENERATOR_H_
2
- #define _GENERATOR_H_
3
-
4
- #include <string.h>
5
- #include <math.h>
6
- #include <ctype.h>
7
-
8
- #include "ruby.h"
9
-
10
- #ifdef HAVE_RUBY_RE_H
11
- #include "ruby/re.h"
12
- #else
13
- #include "re.h"
14
- #endif
15
-
16
- #ifndef rb_intern_str
17
- #define rb_intern_str(string) SYM2ID(rb_str_intern(string))
18
- #endif
19
-
20
- #ifndef rb_obj_instance_variables
21
- #define rb_obj_instance_variables(object) rb_funcall(object, rb_intern("instance_variables"), 0)
22
- #endif
23
-
24
- #define option_given_p(opts, key) RTEST(rb_funcall(opts, i_key_p, 1, key))
25
-
26
- /* unicode definitions */
27
-
28
- #define UNI_STRICT_CONVERSION 1
29
-
30
- typedef unsigned long UTF32; /* at least 32 bits */
31
- typedef unsigned short UTF16; /* at least 16 bits */
32
- typedef unsigned char UTF8; /* typically 8 bits */
33
-
34
- #define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
35
- #define UNI_MAX_BMP (UTF32)0x0000FFFF
36
- #define UNI_MAX_UTF16 (UTF32)0x0010FFFF
37
- #define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF
38
- #define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF
39
-
40
- #define UNI_SUR_HIGH_START (UTF32)0xD800
41
- #define UNI_SUR_HIGH_END (UTF32)0xDBFF
42
- #define UNI_SUR_LOW_START (UTF32)0xDC00
43
- #define UNI_SUR_LOW_END (UTF32)0xDFFF
44
-
45
- static const int halfShift = 10; /* used for shifting by 10 bits */
46
-
47
- static const UTF32 halfBase = 0x0010000UL;
48
- static const UTF32 halfMask = 0x3FFUL;
49
-
50
- static unsigned char isLegalUTF8(const UTF8 *source, unsigned long length);
51
- static void unicode_escape(char *buf, UTF16 character);
52
- static void unicode_escape_to_buffer(FBuffer *buffer, char buf[6], UTF16 character);
53
- static void convert_UTF8_to_JSON_ASCII(FBuffer *buffer, VALUE string);
54
- static void convert_UTF8_to_JSON(FBuffer *buffer, VALUE string);
55
- static char *fstrndup(const char *ptr, unsigned long len);
56
-
57
- /* ruby api and some helpers */
58
-
59
- typedef struct JSON_Generator_StateStruct {
60
- char *indent;
61
- long indent_len;
62
- char *space;
63
- long space_len;
64
- char *space_before;
65
- long space_before_len;
66
- char *object_nl;
67
- long object_nl_len;
68
- char *array_nl;
69
- long array_nl_len;
70
- FBuffer *array_delim;
71
- FBuffer *object_delim;
72
- FBuffer *object_delim2;
73
- long max_nesting;
74
- char allow_nan;
75
- char ascii_only;
76
- char quirks_mode;
77
- long depth;
78
- long buffer_initial_length;
79
- } JSON_Generator_State;
80
-
81
- #define GET_STATE_TO(self, state) \
82
- TypedData_Get_Struct(self, JSON_Generator_State, &JSON_Generator_State_type, state)
83
-
84
- #define GET_STATE(self) \
85
- JSON_Generator_State *state; \
86
- GET_STATE_TO(self, state)
87
-
88
- #define GENERATE_JSON(type) \
89
- FBuffer *buffer; \
90
- VALUE Vstate; \
91
- JSON_Generator_State *state; \
92
- \
93
- rb_scan_args(argc, argv, "01", &Vstate); \
94
- Vstate = cState_from_state_s(cState, Vstate); \
95
- TypedData_Get_Struct(Vstate, JSON_Generator_State, &JSON_Generator_State_type, state); \
96
- buffer = cState_prepare_buffer(Vstate); \
97
- generate_json_##type(buffer, Vstate, state, self); \
98
- return fbuffer_to_s(buffer)
99
-
100
- static VALUE mHash_to_json(int argc, VALUE *argv, VALUE self);
101
- static VALUE mArray_to_json(int argc, VALUE *argv, VALUE self);
102
- static VALUE mFixnum_to_json(int argc, VALUE *argv, VALUE self);
103
- static VALUE mBignum_to_json(int argc, VALUE *argv, VALUE self);
104
- static VALUE mFloat_to_json(int argc, VALUE *argv, VALUE self);
105
- static VALUE mString_included_s(VALUE self, VALUE modul);
106
- static VALUE mString_to_json(int argc, VALUE *argv, VALUE self);
107
- static VALUE mString_to_json_raw_object(VALUE self);
108
- static VALUE mString_to_json_raw(int argc, VALUE *argv, VALUE self);
109
- static VALUE mString_Extend_json_create(VALUE self, VALUE o);
110
- static VALUE mTrueClass_to_json(int argc, VALUE *argv, VALUE self);
111
- static VALUE mFalseClass_to_json(int argc, VALUE *argv, VALUE self);
112
- static VALUE mNilClass_to_json(int argc, VALUE *argv, VALUE self);
113
- static VALUE mObject_to_json(int argc, VALUE *argv, VALUE self);
114
- static void State_free(void *state);
115
- static VALUE cState_s_allocate(VALUE klass);
116
- static VALUE cState_configure(VALUE self, VALUE opts);
117
- static VALUE cState_to_h(VALUE self);
118
- static void generate_json(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
119
- static void generate_json_object(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
120
- static void generate_json_array(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
121
- static void generate_json_string(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
122
- static void generate_json_null(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
123
- static void generate_json_false(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
124
- static void generate_json_true(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
125
- static void generate_json_fixnum(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
126
- static void generate_json_bignum(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
127
- static void generate_json_float(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
128
- static VALUE cState_partial_generate(VALUE self, VALUE obj);
129
- static VALUE cState_generate(VALUE self, VALUE obj);
130
- static VALUE cState_initialize(int argc, VALUE *argv, VALUE self);
131
- static VALUE cState_from_state_s(VALUE self, VALUE opts);
132
- static VALUE cState_indent(VALUE self);
133
- static VALUE cState_indent_set(VALUE self, VALUE indent);
134
- static VALUE cState_space(VALUE self);
135
- static VALUE cState_space_set(VALUE self, VALUE space);
136
- static VALUE cState_space_before(VALUE self);
137
- static VALUE cState_space_before_set(VALUE self, VALUE space_before);
138
- static VALUE cState_object_nl(VALUE self);
139
- static VALUE cState_object_nl_set(VALUE self, VALUE object_nl);
140
- static VALUE cState_array_nl(VALUE self);
141
- static VALUE cState_array_nl_set(VALUE self, VALUE array_nl);
142
- static VALUE cState_max_nesting(VALUE self);
143
- static VALUE cState_max_nesting_set(VALUE self, VALUE depth);
144
- static VALUE cState_allow_nan_p(VALUE self);
145
- static VALUE cState_ascii_only_p(VALUE self);
146
- static VALUE cState_depth(VALUE self);
147
- static VALUE cState_depth_set(VALUE self, VALUE depth);
148
- static FBuffer *cState_prepare_buffer(VALUE self);
149
- #ifndef ZALLOC
150
- #define ZALLOC(type) ((type *)ruby_zalloc(sizeof(type)))
151
- static inline void *ruby_zalloc(size_t n)
152
- {
153
- void *p = ruby_xmalloc(n);
154
- memset(p, 0, n);
155
- return p;
156
- }
157
- #endif
158
- #ifdef TypedData_Make_Struct
159
- static const rb_data_type_t JSON_Generator_State_type;
160
- #define NEW_TYPEDDATA_WRAPPER 1
161
- #else
162
- #define TypedData_Make_Struct(klass, type, ignore, json) Data_Make_Struct(klass, type, NULL, State_free, json)
163
- #define TypedData_Get_Struct(self, JSON_Generator_State, ignore, json) Data_Get_Struct(self, JSON_Generator_State, json)
164
- #endif
165
-
166
- #endif
@@ -1 +0,0 @@
1
- parser.o: parser.c parser.h $(srcdir)/../fbuffer/fbuffer.h
@@ -1,3 +0,0 @@
1
- require 'mkmf'
2
-
3
- create_makefile 'json/ext/parser'
@@ -1,2216 +0,0 @@
1
-
2
- #line 1 "parser.rl"
3
- #include "../fbuffer/fbuffer.h"
4
- #include "parser.h"
5
-
6
- /* unicode */
7
-
8
- static const char digit_values[256] = {
9
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
11
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1,
12
- -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1,
13
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14
- 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
16
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22
- -1, -1, -1, -1, -1, -1, -1
23
- };
24
-
25
- static UTF32 unescape_unicode(const unsigned char *p)
26
- {
27
- char b;
28
- UTF32 result = 0;
29
- b = digit_values[p[0]];
30
- if (b < 0) return UNI_REPLACEMENT_CHAR;
31
- result = (result << 4) | (unsigned char)b;
32
- b = digit_values[p[1]];
33
- if (b < 0) return UNI_REPLACEMENT_CHAR;
34
- result = (result << 4) | (unsigned char)b;
35
- b = digit_values[p[2]];
36
- if (b < 0) return UNI_REPLACEMENT_CHAR;
37
- result = (result << 4) | (unsigned char)b;
38
- b = digit_values[p[3]];
39
- if (b < 0) return UNI_REPLACEMENT_CHAR;
40
- result = (result << 4) | (unsigned char)b;
41
- return result;
42
- }
43
-
44
- static int convert_UTF32_to_UTF8(char *buf, UTF32 ch)
45
- {
46
- int len = 1;
47
- if (ch <= 0x7F) {
48
- buf[0] = (char) ch;
49
- } else if (ch <= 0x07FF) {
50
- buf[0] = (char) ((ch >> 6) | 0xC0);
51
- buf[1] = (char) ((ch & 0x3F) | 0x80);
52
- len++;
53
- } else if (ch <= 0xFFFF) {
54
- buf[0] = (char) ((ch >> 12) | 0xE0);
55
- buf[1] = (char) (((ch >> 6) & 0x3F) | 0x80);
56
- buf[2] = (char) ((ch & 0x3F) | 0x80);
57
- len += 2;
58
- } else if (ch <= 0x1fffff) {
59
- buf[0] =(char) ((ch >> 18) | 0xF0);
60
- buf[1] =(char) (((ch >> 12) & 0x3F) | 0x80);
61
- buf[2] =(char) (((ch >> 6) & 0x3F) | 0x80);
62
- buf[3] =(char) ((ch & 0x3F) | 0x80);
63
- len += 3;
64
- } else {
65
- buf[0] = '?';
66
- }
67
- return len;
68
- }
69
-
70
- #ifdef HAVE_RUBY_ENCODING_H
71
- static VALUE CEncoding_ASCII_8BIT, CEncoding_UTF_8, CEncoding_UTF_16BE,
72
- CEncoding_UTF_16LE, CEncoding_UTF_32BE, CEncoding_UTF_32LE;
73
- static ID i_encoding, i_encode;
74
- #else
75
- static ID i_iconv;
76
- #endif
77
-
78
- static VALUE mJSON, mExt, cParser, eParserError, eNestingError;
79
- static VALUE CNaN, CInfinity, CMinusInfinity;
80
-
81
- static ID i_json_creatable_p, i_json_create, i_create_id, i_create_additions,
82
- i_chr, i_max_nesting, i_allow_nan, i_symbolize_names, i_quirks_mode,
83
- i_object_class, i_array_class, i_key_p, i_deep_const_get, i_match,
84
- i_match_string, i_aset, i_aref, i_leftshift;
85
-
86
-
87
- #line 110 "parser.rl"
88
-
89
-
90
-
91
- #line 92 "parser.c"
92
- enum {JSON_object_start = 1};
93
- enum {JSON_object_first_final = 27};
94
- enum {JSON_object_error = 0};
95
-
96
- enum {JSON_object_en_main = 1};
97
-
98
-
99
- #line 151 "parser.rl"
100
-
101
-
102
- static char *JSON_parse_object(JSON_Parser *json, char *p, char *pe, VALUE *result)
103
- {
104
- int cs = EVIL;
105
- VALUE last_name = Qnil;
106
- VALUE object_class = json->object_class;
107
-
108
- if (json->max_nesting && json->current_nesting > json->max_nesting) {
109
- rb_raise(eNestingError, "nesting of %d is too deep", json->current_nesting);
110
- }
111
-
112
- *result = NIL_P(object_class) ? rb_hash_new() : rb_class_new_instance(0, 0, object_class);
113
-
114
-
115
- #line 116 "parser.c"
116
- {
117
- cs = JSON_object_start;
118
- }
119
-
120
- #line 166 "parser.rl"
121
-
122
- #line 123 "parser.c"
123
- {
124
- if ( p == pe )
125
- goto _test_eof;
126
- switch ( cs )
127
- {
128
- case 1:
129
- if ( (*p) == 123 )
130
- goto st2;
131
- goto st0;
132
- st0:
133
- cs = 0;
134
- goto _out;
135
- st2:
136
- if ( ++p == pe )
137
- goto _test_eof2;
138
- case 2:
139
- switch( (*p) ) {
140
- case 13: goto st2;
141
- case 32: goto st2;
142
- case 34: goto tr2;
143
- case 47: goto st23;
144
- case 125: goto tr4;
145
- }
146
- if ( 9 <= (*p) && (*p) <= 10 )
147
- goto st2;
148
- goto st0;
149
- tr2:
150
- #line 133 "parser.rl"
151
- {
152
- char *np;
153
- json->parsing_name = 1;
154
- np = JSON_parse_string(json, p, pe, &last_name);
155
- json->parsing_name = 0;
156
- if (np == NULL) { p--; {p++; cs = 3; goto _out;} } else {p = (( np))-1;}
157
- }
158
- goto st3;
159
- st3:
160
- if ( ++p == pe )
161
- goto _test_eof3;
162
- case 3:
163
- #line 164 "parser.c"
164
- switch( (*p) ) {
165
- case 13: goto st3;
166
- case 32: goto st3;
167
- case 47: goto st4;
168
- case 58: goto st8;
169
- }
170
- if ( 9 <= (*p) && (*p) <= 10 )
171
- goto st3;
172
- goto st0;
173
- st4:
174
- if ( ++p == pe )
175
- goto _test_eof4;
176
- case 4:
177
- switch( (*p) ) {
178
- case 42: goto st5;
179
- case 47: goto st7;
180
- }
181
- goto st0;
182
- st5:
183
- if ( ++p == pe )
184
- goto _test_eof5;
185
- case 5:
186
- if ( (*p) == 42 )
187
- goto st6;
188
- goto st5;
189
- st6:
190
- if ( ++p == pe )
191
- goto _test_eof6;
192
- case 6:
193
- switch( (*p) ) {
194
- case 42: goto st6;
195
- case 47: goto st3;
196
- }
197
- goto st5;
198
- st7:
199
- if ( ++p == pe )
200
- goto _test_eof7;
201
- case 7:
202
- if ( (*p) == 10 )
203
- goto st3;
204
- goto st7;
205
- st8:
206
- if ( ++p == pe )
207
- goto _test_eof8;
208
- case 8:
209
- switch( (*p) ) {
210
- case 13: goto st8;
211
- case 32: goto st8;
212
- case 34: goto tr11;
213
- case 45: goto tr11;
214
- case 47: goto st19;
215
- case 73: goto tr11;
216
- case 78: goto tr11;
217
- case 91: goto tr11;
218
- case 102: goto tr11;
219
- case 110: goto tr11;
220
- case 116: goto tr11;
221
- case 123: goto tr11;
222
- }
223
- if ( (*p) > 10 ) {
224
- if ( 48 <= (*p) && (*p) <= 57 )
225
- goto tr11;
226
- } else if ( (*p) >= 9 )
227
- goto st8;
228
- goto st0;
229
- tr11:
230
- #line 118 "parser.rl"
231
- {
232
- VALUE v = Qnil;
233
- char *np = JSON_parse_value(json, p, pe, &v);
234
- if (np == NULL) {
235
- p--; {p++; cs = 9; goto _out;}
236
- } else {
237
- if (NIL_P(json->object_class)) {
238
- rb_hash_aset(*result, last_name, v);
239
- } else {
240
- rb_funcall(*result, i_aset, 2, last_name, v);
241
- }
242
- {p = (( np))-1;}
243
- }
244
- }
245
- goto st9;
246
- st9:
247
- if ( ++p == pe )
248
- goto _test_eof9;
249
- case 9:
250
- #line 251 "parser.c"
251
- switch( (*p) ) {
252
- case 13: goto st9;
253
- case 32: goto st9;
254
- case 44: goto st10;
255
- case 47: goto st15;
256
- case 125: goto tr4;
257
- }
258
- if ( 9 <= (*p) && (*p) <= 10 )
259
- goto st9;
260
- goto st0;
261
- st10:
262
- if ( ++p == pe )
263
- goto _test_eof10;
264
- case 10:
265
- switch( (*p) ) {
266
- case 13: goto st10;
267
- case 32: goto st10;
268
- case 34: goto tr2;
269
- case 47: goto st11;
270
- }
271
- if ( 9 <= (*p) && (*p) <= 10 )
272
- goto st10;
273
- goto st0;
274
- st11:
275
- if ( ++p == pe )
276
- goto _test_eof11;
277
- case 11:
278
- switch( (*p) ) {
279
- case 42: goto st12;
280
- case 47: goto st14;
281
- }
282
- goto st0;
283
- st12:
284
- if ( ++p == pe )
285
- goto _test_eof12;
286
- case 12:
287
- if ( (*p) == 42 )
288
- goto st13;
289
- goto st12;
290
- st13:
291
- if ( ++p == pe )
292
- goto _test_eof13;
293
- case 13:
294
- switch( (*p) ) {
295
- case 42: goto st13;
296
- case 47: goto st10;
297
- }
298
- goto st12;
299
- st14:
300
- if ( ++p == pe )
301
- goto _test_eof14;
302
- case 14:
303
- if ( (*p) == 10 )
304
- goto st10;
305
- goto st14;
306
- st15:
307
- if ( ++p == pe )
308
- goto _test_eof15;
309
- case 15:
310
- switch( (*p) ) {
311
- case 42: goto st16;
312
- case 47: goto st18;
313
- }
314
- goto st0;
315
- st16:
316
- if ( ++p == pe )
317
- goto _test_eof16;
318
- case 16:
319
- if ( (*p) == 42 )
320
- goto st17;
321
- goto st16;
322
- st17:
323
- if ( ++p == pe )
324
- goto _test_eof17;
325
- case 17:
326
- switch( (*p) ) {
327
- case 42: goto st17;
328
- case 47: goto st9;
329
- }
330
- goto st16;
331
- st18:
332
- if ( ++p == pe )
333
- goto _test_eof18;
334
- case 18:
335
- if ( (*p) == 10 )
336
- goto st9;
337
- goto st18;
338
- tr4:
339
- #line 141 "parser.rl"
340
- { p--; {p++; cs = 27; goto _out;} }
341
- goto st27;
342
- st27:
343
- if ( ++p == pe )
344
- goto _test_eof27;
345
- case 27:
346
- #line 347 "parser.c"
347
- goto st0;
348
- st19:
349
- if ( ++p == pe )
350
- goto _test_eof19;
351
- case 19:
352
- switch( (*p) ) {
353
- case 42: goto st20;
354
- case 47: goto st22;
355
- }
356
- goto st0;
357
- st20:
358
- if ( ++p == pe )
359
- goto _test_eof20;
360
- case 20:
361
- if ( (*p) == 42 )
362
- goto st21;
363
- goto st20;
364
- st21:
365
- if ( ++p == pe )
366
- goto _test_eof21;
367
- case 21:
368
- switch( (*p) ) {
369
- case 42: goto st21;
370
- case 47: goto st8;
371
- }
372
- goto st20;
373
- st22:
374
- if ( ++p == pe )
375
- goto _test_eof22;
376
- case 22:
377
- if ( (*p) == 10 )
378
- goto st8;
379
- goto st22;
380
- st23:
381
- if ( ++p == pe )
382
- goto _test_eof23;
383
- case 23:
384
- switch( (*p) ) {
385
- case 42: goto st24;
386
- case 47: goto st26;
387
- }
388
- goto st0;
389
- st24:
390
- if ( ++p == pe )
391
- goto _test_eof24;
392
- case 24:
393
- if ( (*p) == 42 )
394
- goto st25;
395
- goto st24;
396
- st25:
397
- if ( ++p == pe )
398
- goto _test_eof25;
399
- case 25:
400
- switch( (*p) ) {
401
- case 42: goto st25;
402
- case 47: goto st2;
403
- }
404
- goto st24;
405
- st26:
406
- if ( ++p == pe )
407
- goto _test_eof26;
408
- case 26:
409
- if ( (*p) == 10 )
410
- goto st2;
411
- goto st26;
412
- }
413
- _test_eof2: cs = 2; goto _test_eof;
414
- _test_eof3: cs = 3; goto _test_eof;
415
- _test_eof4: cs = 4; goto _test_eof;
416
- _test_eof5: cs = 5; goto _test_eof;
417
- _test_eof6: cs = 6; goto _test_eof;
418
- _test_eof7: cs = 7; goto _test_eof;
419
- _test_eof8: cs = 8; goto _test_eof;
420
- _test_eof9: cs = 9; goto _test_eof;
421
- _test_eof10: cs = 10; goto _test_eof;
422
- _test_eof11: cs = 11; goto _test_eof;
423
- _test_eof12: cs = 12; goto _test_eof;
424
- _test_eof13: cs = 13; goto _test_eof;
425
- _test_eof14: cs = 14; goto _test_eof;
426
- _test_eof15: cs = 15; goto _test_eof;
427
- _test_eof16: cs = 16; goto _test_eof;
428
- _test_eof17: cs = 17; goto _test_eof;
429
- _test_eof18: cs = 18; goto _test_eof;
430
- _test_eof27: cs = 27; goto _test_eof;
431
- _test_eof19: cs = 19; goto _test_eof;
432
- _test_eof20: cs = 20; goto _test_eof;
433
- _test_eof21: cs = 21; goto _test_eof;
434
- _test_eof22: cs = 22; goto _test_eof;
435
- _test_eof23: cs = 23; goto _test_eof;
436
- _test_eof24: cs = 24; goto _test_eof;
437
- _test_eof25: cs = 25; goto _test_eof;
438
- _test_eof26: cs = 26; goto _test_eof;
439
-
440
- _test_eof: {}
441
- _out: {}
442
- }
443
-
444
- #line 167 "parser.rl"
445
-
446
- if (cs >= JSON_object_first_final) {
447
- if (json->create_additions) {
448
- VALUE klassname;
449
- if (NIL_P(json->object_class)) {
450
- klassname = rb_hash_aref(*result, json->create_id);
451
- } else {
452
- klassname = rb_funcall(*result, i_aref, 1, json->create_id);
453
- }
454
- if (!NIL_P(klassname)) {
455
- VALUE klass = rb_funcall(mJSON, i_deep_const_get, 1, klassname);
456
- if (RTEST(rb_funcall(klass, i_json_creatable_p, 0))) {
457
- *result = rb_funcall(klass, i_json_create, 1, *result);
458
- }
459
- }
460
- }
461
- return p + 1;
462
- } else {
463
- return NULL;
464
- }
465
- }
466
-
467
-
468
-
469
- #line 470 "parser.c"
470
- enum {JSON_value_start = 1};
471
- enum {JSON_value_first_final = 21};
472
- enum {JSON_value_error = 0};
473
-
474
- enum {JSON_value_en_main = 1};
475
-
476
-
477
- #line 271 "parser.rl"
478
-
479
-
480
- static char *JSON_parse_value(JSON_Parser *json, char *p, char *pe, VALUE *result)
481
- {
482
- int cs = EVIL;
483
-
484
-
485
- #line 486 "parser.c"
486
- {
487
- cs = JSON_value_start;
488
- }
489
-
490
- #line 278 "parser.rl"
491
-
492
- #line 493 "parser.c"
493
- {
494
- if ( p == pe )
495
- goto _test_eof;
496
- switch ( cs )
497
- {
498
- case 1:
499
- switch( (*p) ) {
500
- case 34: goto tr0;
501
- case 45: goto tr2;
502
- case 73: goto st2;
503
- case 78: goto st9;
504
- case 91: goto tr5;
505
- case 102: goto st11;
506
- case 110: goto st15;
507
- case 116: goto st18;
508
- case 123: goto tr9;
509
- }
510
- if ( 48 <= (*p) && (*p) <= 57 )
511
- goto tr2;
512
- goto st0;
513
- st0:
514
- cs = 0;
515
- goto _out;
516
- tr0:
517
- #line 219 "parser.rl"
518
- {
519
- char *np = JSON_parse_string(json, p, pe, result);
520
- if (np == NULL) { p--; {p++; cs = 21; goto _out;} } else {p = (( np))-1;}
521
- }
522
- goto st21;
523
- tr2:
524
- #line 224 "parser.rl"
525
- {
526
- char *np;
527
- if(pe > p + 9 - json->quirks_mode && !strncmp(MinusInfinity, p, 9)) {
528
- if (json->allow_nan) {
529
- *result = CMinusInfinity;
530
- {p = (( p + 10))-1;}
531
- p--; {p++; cs = 21; goto _out;}
532
- } else {
533
- rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
534
- }
535
- }
536
- np = JSON_parse_float(json, p, pe, result);
537
- if (np != NULL) {p = (( np))-1;}
538
- np = JSON_parse_integer(json, p, pe, result);
539
- if (np != NULL) {p = (( np))-1;}
540
- p--; {p++; cs = 21; goto _out;}
541
- }
542
- goto st21;
543
- tr5:
544
- #line 242 "parser.rl"
545
- {
546
- char *np;
547
- json->current_nesting++;
548
- np = JSON_parse_array(json, p, pe, result);
549
- json->current_nesting--;
550
- if (np == NULL) { p--; {p++; cs = 21; goto _out;} } else {p = (( np))-1;}
551
- }
552
- goto st21;
553
- tr9:
554
- #line 250 "parser.rl"
555
- {
556
- char *np;
557
- json->current_nesting++;
558
- np = JSON_parse_object(json, p, pe, result);
559
- json->current_nesting--;
560
- if (np == NULL) { p--; {p++; cs = 21; goto _out;} } else {p = (( np))-1;}
561
- }
562
- goto st21;
563
- tr16:
564
- #line 212 "parser.rl"
565
- {
566
- if (json->allow_nan) {
567
- *result = CInfinity;
568
- } else {
569
- rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p - 8);
570
- }
571
- }
572
- goto st21;
573
- tr18:
574
- #line 205 "parser.rl"
575
- {
576
- if (json->allow_nan) {
577
- *result = CNaN;
578
- } else {
579
- rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p - 2);
580
- }
581
- }
582
- goto st21;
583
- tr22:
584
- #line 199 "parser.rl"
585
- {
586
- *result = Qfalse;
587
- }
588
- goto st21;
589
- tr25:
590
- #line 196 "parser.rl"
591
- {
592
- *result = Qnil;
593
- }
594
- goto st21;
595
- tr28:
596
- #line 202 "parser.rl"
597
- {
598
- *result = Qtrue;
599
- }
600
- goto st21;
601
- st21:
602
- if ( ++p == pe )
603
- goto _test_eof21;
604
- case 21:
605
- #line 258 "parser.rl"
606
- { p--; {p++; cs = 21; goto _out;} }
607
- #line 608 "parser.c"
608
- goto st0;
609
- st2:
610
- if ( ++p == pe )
611
- goto _test_eof2;
612
- case 2:
613
- if ( (*p) == 110 )
614
- goto st3;
615
- goto st0;
616
- st3:
617
- if ( ++p == pe )
618
- goto _test_eof3;
619
- case 3:
620
- if ( (*p) == 102 )
621
- goto st4;
622
- goto st0;
623
- st4:
624
- if ( ++p == pe )
625
- goto _test_eof4;
626
- case 4:
627
- if ( (*p) == 105 )
628
- goto st5;
629
- goto st0;
630
- st5:
631
- if ( ++p == pe )
632
- goto _test_eof5;
633
- case 5:
634
- if ( (*p) == 110 )
635
- goto st6;
636
- goto st0;
637
- st6:
638
- if ( ++p == pe )
639
- goto _test_eof6;
640
- case 6:
641
- if ( (*p) == 105 )
642
- goto st7;
643
- goto st0;
644
- st7:
645
- if ( ++p == pe )
646
- goto _test_eof7;
647
- case 7:
648
- if ( (*p) == 116 )
649
- goto st8;
650
- goto st0;
651
- st8:
652
- if ( ++p == pe )
653
- goto _test_eof8;
654
- case 8:
655
- if ( (*p) == 121 )
656
- goto tr16;
657
- goto st0;
658
- st9:
659
- if ( ++p == pe )
660
- goto _test_eof9;
661
- case 9:
662
- if ( (*p) == 97 )
663
- goto st10;
664
- goto st0;
665
- st10:
666
- if ( ++p == pe )
667
- goto _test_eof10;
668
- case 10:
669
- if ( (*p) == 78 )
670
- goto tr18;
671
- goto st0;
672
- st11:
673
- if ( ++p == pe )
674
- goto _test_eof11;
675
- case 11:
676
- if ( (*p) == 97 )
677
- goto st12;
678
- goto st0;
679
- st12:
680
- if ( ++p == pe )
681
- goto _test_eof12;
682
- case 12:
683
- if ( (*p) == 108 )
684
- goto st13;
685
- goto st0;
686
- st13:
687
- if ( ++p == pe )
688
- goto _test_eof13;
689
- case 13:
690
- if ( (*p) == 115 )
691
- goto st14;
692
- goto st0;
693
- st14:
694
- if ( ++p == pe )
695
- goto _test_eof14;
696
- case 14:
697
- if ( (*p) == 101 )
698
- goto tr22;
699
- goto st0;
700
- st15:
701
- if ( ++p == pe )
702
- goto _test_eof15;
703
- case 15:
704
- if ( (*p) == 117 )
705
- goto st16;
706
- goto st0;
707
- st16:
708
- if ( ++p == pe )
709
- goto _test_eof16;
710
- case 16:
711
- if ( (*p) == 108 )
712
- goto st17;
713
- goto st0;
714
- st17:
715
- if ( ++p == pe )
716
- goto _test_eof17;
717
- case 17:
718
- if ( (*p) == 108 )
719
- goto tr25;
720
- goto st0;
721
- st18:
722
- if ( ++p == pe )
723
- goto _test_eof18;
724
- case 18:
725
- if ( (*p) == 114 )
726
- goto st19;
727
- goto st0;
728
- st19:
729
- if ( ++p == pe )
730
- goto _test_eof19;
731
- case 19:
732
- if ( (*p) == 117 )
733
- goto st20;
734
- goto st0;
735
- st20:
736
- if ( ++p == pe )
737
- goto _test_eof20;
738
- case 20:
739
- if ( (*p) == 101 )
740
- goto tr28;
741
- goto st0;
742
- }
743
- _test_eof21: cs = 21; goto _test_eof;
744
- _test_eof2: cs = 2; goto _test_eof;
745
- _test_eof3: cs = 3; goto _test_eof;
746
- _test_eof4: cs = 4; goto _test_eof;
747
- _test_eof5: cs = 5; goto _test_eof;
748
- _test_eof6: cs = 6; goto _test_eof;
749
- _test_eof7: cs = 7; goto _test_eof;
750
- _test_eof8: cs = 8; goto _test_eof;
751
- _test_eof9: cs = 9; goto _test_eof;
752
- _test_eof10: cs = 10; goto _test_eof;
753
- _test_eof11: cs = 11; goto _test_eof;
754
- _test_eof12: cs = 12; goto _test_eof;
755
- _test_eof13: cs = 13; goto _test_eof;
756
- _test_eof14: cs = 14; goto _test_eof;
757
- _test_eof15: cs = 15; goto _test_eof;
758
- _test_eof16: cs = 16; goto _test_eof;
759
- _test_eof17: cs = 17; goto _test_eof;
760
- _test_eof18: cs = 18; goto _test_eof;
761
- _test_eof19: cs = 19; goto _test_eof;
762
- _test_eof20: cs = 20; goto _test_eof;
763
-
764
- _test_eof: {}
765
- _out: {}
766
- }
767
-
768
- #line 279 "parser.rl"
769
-
770
- if (cs >= JSON_value_first_final) {
771
- return p;
772
- } else {
773
- return NULL;
774
- }
775
- }
776
-
777
-
778
- #line 779 "parser.c"
779
- enum {JSON_integer_start = 1};
780
- enum {JSON_integer_first_final = 3};
781
- enum {JSON_integer_error = 0};
782
-
783
- enum {JSON_integer_en_main = 1};
784
-
785
-
786
- #line 295 "parser.rl"
787
-
788
-
789
- static char *JSON_parse_integer(JSON_Parser *json, char *p, char *pe, VALUE *result)
790
- {
791
- int cs = EVIL;
792
-
793
-
794
- #line 795 "parser.c"
795
- {
796
- cs = JSON_integer_start;
797
- }
798
-
799
- #line 302 "parser.rl"
800
- json->memo = p;
801
-
802
- #line 803 "parser.c"
803
- {
804
- if ( p == pe )
805
- goto _test_eof;
806
- switch ( cs )
807
- {
808
- case 1:
809
- switch( (*p) ) {
810
- case 45: goto st2;
811
- case 48: goto st3;
812
- }
813
- if ( 49 <= (*p) && (*p) <= 57 )
814
- goto st5;
815
- goto st0;
816
- st0:
817
- cs = 0;
818
- goto _out;
819
- st2:
820
- if ( ++p == pe )
821
- goto _test_eof2;
822
- case 2:
823
- if ( (*p) == 48 )
824
- goto st3;
825
- if ( 49 <= (*p) && (*p) <= 57 )
826
- goto st5;
827
- goto st0;
828
- st3:
829
- if ( ++p == pe )
830
- goto _test_eof3;
831
- case 3:
832
- if ( 48 <= (*p) && (*p) <= 57 )
833
- goto st0;
834
- goto tr4;
835
- tr4:
836
- #line 292 "parser.rl"
837
- { p--; {p++; cs = 4; goto _out;} }
838
- goto st4;
839
- st4:
840
- if ( ++p == pe )
841
- goto _test_eof4;
842
- case 4:
843
- #line 844 "parser.c"
844
- goto st0;
845
- st5:
846
- if ( ++p == pe )
847
- goto _test_eof5;
848
- case 5:
849
- if ( 48 <= (*p) && (*p) <= 57 )
850
- goto st5;
851
- goto tr4;
852
- }
853
- _test_eof2: cs = 2; goto _test_eof;
854
- _test_eof3: cs = 3; goto _test_eof;
855
- _test_eof4: cs = 4; goto _test_eof;
856
- _test_eof5: cs = 5; goto _test_eof;
857
-
858
- _test_eof: {}
859
- _out: {}
860
- }
861
-
862
- #line 304 "parser.rl"
863
-
864
- if (cs >= JSON_integer_first_final) {
865
- long len = p - json->memo;
866
- fbuffer_clear(json->fbuffer);
867
- fbuffer_append(json->fbuffer, json->memo, len);
868
- fbuffer_append_char(json->fbuffer, '\0');
869
- *result = rb_cstr2inum(FBUFFER_PTR(json->fbuffer), 10);
870
- return p + 1;
871
- } else {
872
- return NULL;
873
- }
874
- }
875
-
876
-
877
- #line 878 "parser.c"
878
- enum {JSON_float_start = 1};
879
- enum {JSON_float_first_final = 8};
880
- enum {JSON_float_error = 0};
881
-
882
- enum {JSON_float_en_main = 1};
883
-
884
-
885
- #line 329 "parser.rl"
886
-
887
-
888
- static char *JSON_parse_float(JSON_Parser *json, char *p, char *pe, VALUE *result)
889
- {
890
- int cs = EVIL;
891
-
892
-
893
- #line 894 "parser.c"
894
- {
895
- cs = JSON_float_start;
896
- }
897
-
898
- #line 336 "parser.rl"
899
- json->memo = p;
900
-
901
- #line 902 "parser.c"
902
- {
903
- if ( p == pe )
904
- goto _test_eof;
905
- switch ( cs )
906
- {
907
- case 1:
908
- switch( (*p) ) {
909
- case 45: goto st2;
910
- case 48: goto st3;
911
- }
912
- if ( 49 <= (*p) && (*p) <= 57 )
913
- goto st7;
914
- goto st0;
915
- st0:
916
- cs = 0;
917
- goto _out;
918
- st2:
919
- if ( ++p == pe )
920
- goto _test_eof2;
921
- case 2:
922
- if ( (*p) == 48 )
923
- goto st3;
924
- if ( 49 <= (*p) && (*p) <= 57 )
925
- goto st7;
926
- goto st0;
927
- st3:
928
- if ( ++p == pe )
929
- goto _test_eof3;
930
- case 3:
931
- switch( (*p) ) {
932
- case 46: goto st4;
933
- case 69: goto st5;
934
- case 101: goto st5;
935
- }
936
- goto st0;
937
- st4:
938
- if ( ++p == pe )
939
- goto _test_eof4;
940
- case 4:
941
- if ( 48 <= (*p) && (*p) <= 57 )
942
- goto st8;
943
- goto st0;
944
- st8:
945
- if ( ++p == pe )
946
- goto _test_eof8;
947
- case 8:
948
- switch( (*p) ) {
949
- case 69: goto st5;
950
- case 101: goto st5;
951
- }
952
- if ( (*p) > 46 ) {
953
- if ( 48 <= (*p) && (*p) <= 57 )
954
- goto st8;
955
- } else if ( (*p) >= 45 )
956
- goto st0;
957
- goto tr9;
958
- tr9:
959
- #line 323 "parser.rl"
960
- { p--; {p++; cs = 9; goto _out;} }
961
- goto st9;
962
- st9:
963
- if ( ++p == pe )
964
- goto _test_eof9;
965
- case 9:
966
- #line 967 "parser.c"
967
- goto st0;
968
- st5:
969
- if ( ++p == pe )
970
- goto _test_eof5;
971
- case 5:
972
- switch( (*p) ) {
973
- case 43: goto st6;
974
- case 45: goto st6;
975
- }
976
- if ( 48 <= (*p) && (*p) <= 57 )
977
- goto st10;
978
- goto st0;
979
- st6:
980
- if ( ++p == pe )
981
- goto _test_eof6;
982
- case 6:
983
- if ( 48 <= (*p) && (*p) <= 57 )
984
- goto st10;
985
- goto st0;
986
- st10:
987
- if ( ++p == pe )
988
- goto _test_eof10;
989
- case 10:
990
- switch( (*p) ) {
991
- case 69: goto st0;
992
- case 101: goto st0;
993
- }
994
- if ( (*p) > 46 ) {
995
- if ( 48 <= (*p) && (*p) <= 57 )
996
- goto st10;
997
- } else if ( (*p) >= 45 )
998
- goto st0;
999
- goto tr9;
1000
- st7:
1001
- if ( ++p == pe )
1002
- goto _test_eof7;
1003
- case 7:
1004
- switch( (*p) ) {
1005
- case 46: goto st4;
1006
- case 69: goto st5;
1007
- case 101: goto st5;
1008
- }
1009
- if ( 48 <= (*p) && (*p) <= 57 )
1010
- goto st7;
1011
- goto st0;
1012
- }
1013
- _test_eof2: cs = 2; goto _test_eof;
1014
- _test_eof3: cs = 3; goto _test_eof;
1015
- _test_eof4: cs = 4; goto _test_eof;
1016
- _test_eof8: cs = 8; goto _test_eof;
1017
- _test_eof9: cs = 9; goto _test_eof;
1018
- _test_eof5: cs = 5; goto _test_eof;
1019
- _test_eof6: cs = 6; goto _test_eof;
1020
- _test_eof10: cs = 10; goto _test_eof;
1021
- _test_eof7: cs = 7; goto _test_eof;
1022
-
1023
- _test_eof: {}
1024
- _out: {}
1025
- }
1026
-
1027
- #line 338 "parser.rl"
1028
-
1029
- if (cs >= JSON_float_first_final) {
1030
- long len = p - json->memo;
1031
- fbuffer_clear(json->fbuffer);
1032
- fbuffer_append(json->fbuffer, json->memo, len);
1033
- fbuffer_append_char(json->fbuffer, '\0');
1034
- *result = rb_float_new(rb_cstr_to_dbl(FBUFFER_PTR(json->fbuffer), 1));
1035
- return p + 1;
1036
- } else {
1037
- return NULL;
1038
- }
1039
- }
1040
-
1041
-
1042
-
1043
- #line 1044 "parser.c"
1044
- enum {JSON_array_start = 1};
1045
- enum {JSON_array_first_final = 17};
1046
- enum {JSON_array_error = 0};
1047
-
1048
- enum {JSON_array_en_main = 1};
1049
-
1050
-
1051
- #line 381 "parser.rl"
1052
-
1053
-
1054
- static char *JSON_parse_array(JSON_Parser *json, char *p, char *pe, VALUE *result)
1055
- {
1056
- int cs = EVIL;
1057
- VALUE array_class = json->array_class;
1058
-
1059
- if (json->max_nesting && json->current_nesting > json->max_nesting) {
1060
- rb_raise(eNestingError, "nesting of %d is too deep", json->current_nesting);
1061
- }
1062
- *result = NIL_P(array_class) ? rb_ary_new() : rb_class_new_instance(0, 0, array_class);
1063
-
1064
-
1065
- #line 1066 "parser.c"
1066
- {
1067
- cs = JSON_array_start;
1068
- }
1069
-
1070
- #line 394 "parser.rl"
1071
-
1072
- #line 1073 "parser.c"
1073
- {
1074
- if ( p == pe )
1075
- goto _test_eof;
1076
- switch ( cs )
1077
- {
1078
- case 1:
1079
- if ( (*p) == 91 )
1080
- goto st2;
1081
- goto st0;
1082
- st0:
1083
- cs = 0;
1084
- goto _out;
1085
- st2:
1086
- if ( ++p == pe )
1087
- goto _test_eof2;
1088
- case 2:
1089
- switch( (*p) ) {
1090
- case 13: goto st2;
1091
- case 32: goto st2;
1092
- case 34: goto tr2;
1093
- case 45: goto tr2;
1094
- case 47: goto st13;
1095
- case 73: goto tr2;
1096
- case 78: goto tr2;
1097
- case 91: goto tr2;
1098
- case 93: goto tr4;
1099
- case 102: goto tr2;
1100
- case 110: goto tr2;
1101
- case 116: goto tr2;
1102
- case 123: goto tr2;
1103
- }
1104
- if ( (*p) > 10 ) {
1105
- if ( 48 <= (*p) && (*p) <= 57 )
1106
- goto tr2;
1107
- } else if ( (*p) >= 9 )
1108
- goto st2;
1109
- goto st0;
1110
- tr2:
1111
- #line 358 "parser.rl"
1112
- {
1113
- VALUE v = Qnil;
1114
- char *np = JSON_parse_value(json, p, pe, &v);
1115
- if (np == NULL) {
1116
- p--; {p++; cs = 3; goto _out;}
1117
- } else {
1118
- if (NIL_P(json->array_class)) {
1119
- rb_ary_push(*result, v);
1120
- } else {
1121
- rb_funcall(*result, i_leftshift, 1, v);
1122
- }
1123
- {p = (( np))-1;}
1124
- }
1125
- }
1126
- goto st3;
1127
- st3:
1128
- if ( ++p == pe )
1129
- goto _test_eof3;
1130
- case 3:
1131
- #line 1132 "parser.c"
1132
- switch( (*p) ) {
1133
- case 13: goto st3;
1134
- case 32: goto st3;
1135
- case 44: goto st4;
1136
- case 47: goto st9;
1137
- case 93: goto tr4;
1138
- }
1139
- if ( 9 <= (*p) && (*p) <= 10 )
1140
- goto st3;
1141
- goto st0;
1142
- st4:
1143
- if ( ++p == pe )
1144
- goto _test_eof4;
1145
- case 4:
1146
- switch( (*p) ) {
1147
- case 13: goto st4;
1148
- case 32: goto st4;
1149
- case 34: goto tr2;
1150
- case 45: goto tr2;
1151
- case 47: goto st5;
1152
- case 73: goto tr2;
1153
- case 78: goto tr2;
1154
- case 91: goto tr2;
1155
- case 102: goto tr2;
1156
- case 110: goto tr2;
1157
- case 116: goto tr2;
1158
- case 123: goto tr2;
1159
- }
1160
- if ( (*p) > 10 ) {
1161
- if ( 48 <= (*p) && (*p) <= 57 )
1162
- goto tr2;
1163
- } else if ( (*p) >= 9 )
1164
- goto st4;
1165
- goto st0;
1166
- st5:
1167
- if ( ++p == pe )
1168
- goto _test_eof5;
1169
- case 5:
1170
- switch( (*p) ) {
1171
- case 42: goto st6;
1172
- case 47: goto st8;
1173
- }
1174
- goto st0;
1175
- st6:
1176
- if ( ++p == pe )
1177
- goto _test_eof6;
1178
- case 6:
1179
- if ( (*p) == 42 )
1180
- goto st7;
1181
- goto st6;
1182
- st7:
1183
- if ( ++p == pe )
1184
- goto _test_eof7;
1185
- case 7:
1186
- switch( (*p) ) {
1187
- case 42: goto st7;
1188
- case 47: goto st4;
1189
- }
1190
- goto st6;
1191
- st8:
1192
- if ( ++p == pe )
1193
- goto _test_eof8;
1194
- case 8:
1195
- if ( (*p) == 10 )
1196
- goto st4;
1197
- goto st8;
1198
- st9:
1199
- if ( ++p == pe )
1200
- goto _test_eof9;
1201
- case 9:
1202
- switch( (*p) ) {
1203
- case 42: goto st10;
1204
- case 47: goto st12;
1205
- }
1206
- goto st0;
1207
- st10:
1208
- if ( ++p == pe )
1209
- goto _test_eof10;
1210
- case 10:
1211
- if ( (*p) == 42 )
1212
- goto st11;
1213
- goto st10;
1214
- st11:
1215
- if ( ++p == pe )
1216
- goto _test_eof11;
1217
- case 11:
1218
- switch( (*p) ) {
1219
- case 42: goto st11;
1220
- case 47: goto st3;
1221
- }
1222
- goto st10;
1223
- st12:
1224
- if ( ++p == pe )
1225
- goto _test_eof12;
1226
- case 12:
1227
- if ( (*p) == 10 )
1228
- goto st3;
1229
- goto st12;
1230
- tr4:
1231
- #line 373 "parser.rl"
1232
- { p--; {p++; cs = 17; goto _out;} }
1233
- goto st17;
1234
- st17:
1235
- if ( ++p == pe )
1236
- goto _test_eof17;
1237
- case 17:
1238
- #line 1239 "parser.c"
1239
- goto st0;
1240
- st13:
1241
- if ( ++p == pe )
1242
- goto _test_eof13;
1243
- case 13:
1244
- switch( (*p) ) {
1245
- case 42: goto st14;
1246
- case 47: goto st16;
1247
- }
1248
- goto st0;
1249
- st14:
1250
- if ( ++p == pe )
1251
- goto _test_eof14;
1252
- case 14:
1253
- if ( (*p) == 42 )
1254
- goto st15;
1255
- goto st14;
1256
- st15:
1257
- if ( ++p == pe )
1258
- goto _test_eof15;
1259
- case 15:
1260
- switch( (*p) ) {
1261
- case 42: goto st15;
1262
- case 47: goto st2;
1263
- }
1264
- goto st14;
1265
- st16:
1266
- if ( ++p == pe )
1267
- goto _test_eof16;
1268
- case 16:
1269
- if ( (*p) == 10 )
1270
- goto st2;
1271
- goto st16;
1272
- }
1273
- _test_eof2: cs = 2; goto _test_eof;
1274
- _test_eof3: cs = 3; goto _test_eof;
1275
- _test_eof4: cs = 4; goto _test_eof;
1276
- _test_eof5: cs = 5; goto _test_eof;
1277
- _test_eof6: cs = 6; goto _test_eof;
1278
- _test_eof7: cs = 7; goto _test_eof;
1279
- _test_eof8: cs = 8; goto _test_eof;
1280
- _test_eof9: cs = 9; goto _test_eof;
1281
- _test_eof10: cs = 10; goto _test_eof;
1282
- _test_eof11: cs = 11; goto _test_eof;
1283
- _test_eof12: cs = 12; goto _test_eof;
1284
- _test_eof17: cs = 17; goto _test_eof;
1285
- _test_eof13: cs = 13; goto _test_eof;
1286
- _test_eof14: cs = 14; goto _test_eof;
1287
- _test_eof15: cs = 15; goto _test_eof;
1288
- _test_eof16: cs = 16; goto _test_eof;
1289
-
1290
- _test_eof: {}
1291
- _out: {}
1292
- }
1293
-
1294
- #line 395 "parser.rl"
1295
-
1296
- if(cs >= JSON_array_first_final) {
1297
- return p + 1;
1298
- } else {
1299
- rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
1300
- return NULL;
1301
- }
1302
- }
1303
-
1304
- static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd)
1305
- {
1306
- char *p = string, *pe = string, *unescape;
1307
- int unescape_len;
1308
- char buf[4];
1309
-
1310
- while (pe < stringEnd) {
1311
- if (*pe == '\\') {
1312
- unescape = (char *) "?";
1313
- unescape_len = 1;
1314
- if (pe > p) rb_str_buf_cat(result, p, pe - p);
1315
- switch (*++pe) {
1316
- case 'n':
1317
- unescape = (char *) "\n";
1318
- break;
1319
- case 'r':
1320
- unescape = (char *) "\r";
1321
- break;
1322
- case 't':
1323
- unescape = (char *) "\t";
1324
- break;
1325
- case '"':
1326
- unescape = (char *) "\"";
1327
- break;
1328
- case '\\':
1329
- unescape = (char *) "\\";
1330
- break;
1331
- case 'b':
1332
- unescape = (char *) "\b";
1333
- break;
1334
- case 'f':
1335
- unescape = (char *) "\f";
1336
- break;
1337
- case 'u':
1338
- if (pe > stringEnd - 4) {
1339
- return Qnil;
1340
- } else {
1341
- UTF32 ch = unescape_unicode((unsigned char *) ++pe);
1342
- pe += 3;
1343
- if (UNI_SUR_HIGH_START == (ch & 0xFC00)) {
1344
- pe++;
1345
- if (pe > stringEnd - 6) return Qnil;
1346
- if (pe[0] == '\\' && pe[1] == 'u') {
1347
- UTF32 sur = unescape_unicode((unsigned char *) pe + 2);
1348
- ch = (((ch & 0x3F) << 10) | ((((ch >> 6) & 0xF) + 1) << 16)
1349
- | (sur & 0x3FF));
1350
- pe += 5;
1351
- } else {
1352
- unescape = (char *) "?";
1353
- break;
1354
- }
1355
- }
1356
- unescape_len = convert_UTF32_to_UTF8(buf, ch);
1357
- unescape = buf;
1358
- }
1359
- break;
1360
- default:
1361
- p = pe;
1362
- continue;
1363
- }
1364
- rb_str_buf_cat(result, unescape, unescape_len);
1365
- p = ++pe;
1366
- } else {
1367
- pe++;
1368
- }
1369
- }
1370
- rb_str_buf_cat(result, p, pe - p);
1371
- return result;
1372
- }
1373
-
1374
-
1375
- #line 1376 "parser.c"
1376
- enum {JSON_string_start = 1};
1377
- enum {JSON_string_first_final = 8};
1378
- enum {JSON_string_error = 0};
1379
-
1380
- enum {JSON_string_en_main = 1};
1381
-
1382
-
1383
- #line 494 "parser.rl"
1384
-
1385
-
1386
- static int
1387
- match_i(VALUE regexp, VALUE klass, VALUE memo)
1388
- {
1389
- if (regexp == Qundef) return ST_STOP;
1390
- if (RTEST(rb_funcall(klass, i_json_creatable_p, 0)) &&
1391
- RTEST(rb_funcall(regexp, i_match, 1, rb_ary_entry(memo, 0)))) {
1392
- rb_ary_push(memo, klass);
1393
- return ST_STOP;
1394
- }
1395
- return ST_CONTINUE;
1396
- }
1397
-
1398
- static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *result)
1399
- {
1400
- int cs = EVIL;
1401
- VALUE match_string;
1402
-
1403
- *result = rb_str_buf_new(0);
1404
-
1405
- #line 1406 "parser.c"
1406
- {
1407
- cs = JSON_string_start;
1408
- }
1409
-
1410
- #line 515 "parser.rl"
1411
- json->memo = p;
1412
-
1413
- #line 1414 "parser.c"
1414
- {
1415
- if ( p == pe )
1416
- goto _test_eof;
1417
- switch ( cs )
1418
- {
1419
- case 1:
1420
- if ( (*p) == 34 )
1421
- goto st2;
1422
- goto st0;
1423
- st0:
1424
- cs = 0;
1425
- goto _out;
1426
- st2:
1427
- if ( ++p == pe )
1428
- goto _test_eof2;
1429
- case 2:
1430
- switch( (*p) ) {
1431
- case 34: goto tr2;
1432
- case 92: goto st3;
1433
- }
1434
- if ( 0 <= (*p) && (*p) <= 31 )
1435
- goto st0;
1436
- goto st2;
1437
- tr2:
1438
- #line 480 "parser.rl"
1439
- {
1440
- *result = json_string_unescape(*result, json->memo + 1, p);
1441
- if (NIL_P(*result)) {
1442
- p--;
1443
- {p++; cs = 8; goto _out;}
1444
- } else {
1445
- FORCE_UTF8(*result);
1446
- {p = (( p + 1))-1;}
1447
- }
1448
- }
1449
- #line 491 "parser.rl"
1450
- { p--; {p++; cs = 8; goto _out;} }
1451
- goto st8;
1452
- st8:
1453
- if ( ++p == pe )
1454
- goto _test_eof8;
1455
- case 8:
1456
- #line 1457 "parser.c"
1457
- goto st0;
1458
- st3:
1459
- if ( ++p == pe )
1460
- goto _test_eof3;
1461
- case 3:
1462
- if ( (*p) == 117 )
1463
- goto st4;
1464
- if ( 0 <= (*p) && (*p) <= 31 )
1465
- goto st0;
1466
- goto st2;
1467
- st4:
1468
- if ( ++p == pe )
1469
- goto _test_eof4;
1470
- case 4:
1471
- if ( (*p) < 65 ) {
1472
- if ( 48 <= (*p) && (*p) <= 57 )
1473
- goto st5;
1474
- } else if ( (*p) > 70 ) {
1475
- if ( 97 <= (*p) && (*p) <= 102 )
1476
- goto st5;
1477
- } else
1478
- goto st5;
1479
- goto st0;
1480
- st5:
1481
- if ( ++p == pe )
1482
- goto _test_eof5;
1483
- case 5:
1484
- if ( (*p) < 65 ) {
1485
- if ( 48 <= (*p) && (*p) <= 57 )
1486
- goto st6;
1487
- } else if ( (*p) > 70 ) {
1488
- if ( 97 <= (*p) && (*p) <= 102 )
1489
- goto st6;
1490
- } else
1491
- goto st6;
1492
- goto st0;
1493
- st6:
1494
- if ( ++p == pe )
1495
- goto _test_eof6;
1496
- case 6:
1497
- if ( (*p) < 65 ) {
1498
- if ( 48 <= (*p) && (*p) <= 57 )
1499
- goto st7;
1500
- } else if ( (*p) > 70 ) {
1501
- if ( 97 <= (*p) && (*p) <= 102 )
1502
- goto st7;
1503
- } else
1504
- goto st7;
1505
- goto st0;
1506
- st7:
1507
- if ( ++p == pe )
1508
- goto _test_eof7;
1509
- case 7:
1510
- if ( (*p) < 65 ) {
1511
- if ( 48 <= (*p) && (*p) <= 57 )
1512
- goto st2;
1513
- } else if ( (*p) > 70 ) {
1514
- if ( 97 <= (*p) && (*p) <= 102 )
1515
- goto st2;
1516
- } else
1517
- goto st2;
1518
- goto st0;
1519
- }
1520
- _test_eof2: cs = 2; goto _test_eof;
1521
- _test_eof8: cs = 8; goto _test_eof;
1522
- _test_eof3: cs = 3; goto _test_eof;
1523
- _test_eof4: cs = 4; goto _test_eof;
1524
- _test_eof5: cs = 5; goto _test_eof;
1525
- _test_eof6: cs = 6; goto _test_eof;
1526
- _test_eof7: cs = 7; goto _test_eof;
1527
-
1528
- _test_eof: {}
1529
- _out: {}
1530
- }
1531
-
1532
- #line 517 "parser.rl"
1533
-
1534
- if (json->create_additions && RTEST(match_string = json->match_string)) {
1535
- VALUE klass;
1536
- VALUE memo = rb_ary_new2(2);
1537
- rb_ary_push(memo, *result);
1538
- rb_hash_foreach(match_string, match_i, memo);
1539
- klass = rb_ary_entry(memo, 1);
1540
- if (RTEST(klass)) {
1541
- *result = rb_funcall(klass, i_json_create, 1, *result);
1542
- }
1543
- }
1544
-
1545
- if (json->symbolize_names && json->parsing_name) {
1546
- *result = rb_str_intern(*result);
1547
- }
1548
- if (cs >= JSON_string_first_final) {
1549
- return p + 1;
1550
- } else {
1551
- return NULL;
1552
- }
1553
- }
1554
-
1555
- /*
1556
- * Document-class: JSON::Ext::Parser
1557
- *
1558
- * This is the JSON parser implemented as a C extension. It can be configured
1559
- * to be used by setting
1560
- *
1561
- * JSON.parser = JSON::Ext::Parser
1562
- *
1563
- * with the method parser= in JSON.
1564
- *
1565
- */
1566
-
1567
- static VALUE convert_encoding(VALUE source)
1568
- {
1569
- char *ptr = RSTRING_PTR(source);
1570
- long len = RSTRING_LEN(source);
1571
- if (len < 2) {
1572
- rb_raise(eParserError, "A JSON text must at least contain two octets!");
1573
- }
1574
- #ifdef HAVE_RUBY_ENCODING_H
1575
- {
1576
- VALUE encoding = rb_funcall(source, i_encoding, 0);
1577
- if (encoding == CEncoding_ASCII_8BIT) {
1578
- if (len >= 4 && ptr[0] == 0 && ptr[1] == 0 && ptr[2] == 0) {
1579
- source = rb_funcall(source, i_encode, 2, CEncoding_UTF_8, CEncoding_UTF_32BE);
1580
- } else if (len >= 4 && ptr[0] == 0 && ptr[2] == 0) {
1581
- source = rb_funcall(source, i_encode, 2, CEncoding_UTF_8, CEncoding_UTF_16BE);
1582
- } else if (len >= 4 && ptr[1] == 0 && ptr[2] == 0 && ptr[3] == 0) {
1583
- source = rb_funcall(source, i_encode, 2, CEncoding_UTF_8, CEncoding_UTF_32LE);
1584
- } else if (len >= 4 && ptr[1] == 0 && ptr[3] == 0) {
1585
- source = rb_funcall(source, i_encode, 2, CEncoding_UTF_8, CEncoding_UTF_16LE);
1586
- } else {
1587
- source = rb_str_dup(source);
1588
- FORCE_UTF8(source);
1589
- }
1590
- } else {
1591
- source = rb_funcall(source, i_encode, 1, CEncoding_UTF_8);
1592
- }
1593
- }
1594
- #else
1595
- if (len >= 4 && ptr[0] == 0 && ptr[1] == 0 && ptr[2] == 0) {
1596
- source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-32be"), source);
1597
- } else if (len >= 4 && ptr[0] == 0 && ptr[2] == 0) {
1598
- source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-16be"), source);
1599
- } else if (len >= 4 && ptr[1] == 0 && ptr[2] == 0 && ptr[3] == 0) {
1600
- source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-32le"), source);
1601
- } else if (len >= 4 && ptr[1] == 0 && ptr[3] == 0) {
1602
- source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-16le"), source);
1603
- }
1604
- #endif
1605
- return source;
1606
- }
1607
-
1608
- /*
1609
- * call-seq: new(source, opts => {})
1610
- *
1611
- * Creates a new JSON::Ext::Parser instance for the string _source_.
1612
- *
1613
- * Creates a new JSON::Ext::Parser instance for the string _source_.
1614
- *
1615
- * It will be configured by the _opts_ hash. _opts_ can have the following
1616
- * keys:
1617
- *
1618
- * _opts_ can have the following keys:
1619
- * * *max_nesting*: The maximum depth of nesting allowed in the parsed data
1620
- * structures. Disable depth checking with :max_nesting => false|nil|0, it
1621
- * defaults to 100.
1622
- * * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
1623
- * defiance of RFC 4627 to be parsed by the Parser. This option defaults to
1624
- * false.
1625
- * * *symbolize_names*: If set to true, returns symbols for the names
1626
- * (keys) in a JSON object. Otherwise strings are returned, which is also
1627
- * the default.
1628
- * * *create_additions*: If set to false, the Parser doesn't create
1629
- * additions even if a matching class and create_id was found. This option
1630
- * defaults to false.
1631
- * * *object_class*: Defaults to Hash
1632
- * * *array_class*: Defaults to Array
1633
- */
1634
- static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
1635
- {
1636
- VALUE source, opts;
1637
- GET_PARSER_INIT;
1638
-
1639
- if (json->Vsource) {
1640
- rb_raise(rb_eTypeError, "already initialized instance");
1641
- }
1642
- rb_scan_args(argc, argv, "11", &source, &opts);
1643
- if (!NIL_P(opts)) {
1644
- opts = rb_convert_type(opts, T_HASH, "Hash", "to_hash");
1645
- if (NIL_P(opts)) {
1646
- rb_raise(rb_eArgError, "opts needs to be like a hash");
1647
- } else {
1648
- VALUE tmp = ID2SYM(i_max_nesting);
1649
- if (option_given_p(opts, tmp)) {
1650
- VALUE max_nesting = rb_hash_aref(opts, tmp);
1651
- if (RTEST(max_nesting)) {
1652
- Check_Type(max_nesting, T_FIXNUM);
1653
- json->max_nesting = FIX2INT(max_nesting);
1654
- } else {
1655
- json->max_nesting = 0;
1656
- }
1657
- } else {
1658
- json->max_nesting = 100;
1659
- }
1660
- tmp = ID2SYM(i_allow_nan);
1661
- if (option_given_p(opts, tmp)) {
1662
- json->allow_nan = RTEST(rb_hash_aref(opts, tmp)) ? 1 : 0;
1663
- } else {
1664
- json->allow_nan = 0;
1665
- }
1666
- tmp = ID2SYM(i_symbolize_names);
1667
- if (option_given_p(opts, tmp)) {
1668
- json->symbolize_names = RTEST(rb_hash_aref(opts, tmp)) ? 1 : 0;
1669
- } else {
1670
- json->symbolize_names = 0;
1671
- }
1672
- tmp = ID2SYM(i_quirks_mode);
1673
- if (option_given_p(opts, tmp)) {
1674
- VALUE quirks_mode = rb_hash_aref(opts, tmp);
1675
- json->quirks_mode = RTEST(quirks_mode) ? 1 : 0;
1676
- } else {
1677
- json->quirks_mode = 0;
1678
- }
1679
- tmp = ID2SYM(i_create_additions);
1680
- if (option_given_p(opts, tmp)) {
1681
- json->create_additions = RTEST(rb_hash_aref(opts, tmp));
1682
- } else {
1683
- json->create_additions = 0;
1684
- }
1685
- tmp = ID2SYM(i_create_id);
1686
- if (option_given_p(opts, tmp)) {
1687
- json->create_id = rb_hash_aref(opts, tmp);
1688
- } else {
1689
- json->create_id = rb_funcall(mJSON, i_create_id, 0);
1690
- }
1691
- tmp = ID2SYM(i_object_class);
1692
- if (option_given_p(opts, tmp)) {
1693
- json->object_class = rb_hash_aref(opts, tmp);
1694
- } else {
1695
- json->object_class = Qnil;
1696
- }
1697
- tmp = ID2SYM(i_array_class);
1698
- if (option_given_p(opts, tmp)) {
1699
- json->array_class = rb_hash_aref(opts, tmp);
1700
- } else {
1701
- json->array_class = Qnil;
1702
- }
1703
- tmp = ID2SYM(i_match_string);
1704
- if (option_given_p(opts, tmp)) {
1705
- VALUE match_string = rb_hash_aref(opts, tmp);
1706
- json->match_string = RTEST(match_string) ? match_string : Qnil;
1707
- } else {
1708
- json->match_string = Qnil;
1709
- }
1710
- }
1711
- } else {
1712
- json->max_nesting = 100;
1713
- json->allow_nan = 0;
1714
- json->create_additions = 1;
1715
- json->create_id = rb_funcall(mJSON, i_create_id, 0);
1716
- json->object_class = Qnil;
1717
- json->array_class = Qnil;
1718
- }
1719
- source = rb_convert_type(source, T_STRING, "String", "to_str");
1720
- if (!json->quirks_mode) {
1721
- source = convert_encoding(StringValue(source));
1722
- }
1723
- json->current_nesting = 0;
1724
- StringValue(source);
1725
- json->len = RSTRING_LEN(source);
1726
- json->source = RSTRING_PTR(source);;
1727
- json->Vsource = source;
1728
- return self;
1729
- }
1730
-
1731
-
1732
- #line 1733 "parser.c"
1733
- enum {JSON_start = 1};
1734
- enum {JSON_first_final = 10};
1735
- enum {JSON_error = 0};
1736
-
1737
- enum {JSON_en_main = 1};
1738
-
1739
-
1740
- #line 740 "parser.rl"
1741
-
1742
-
1743
- static VALUE cParser_parse_strict(VALUE self)
1744
- {
1745
- char *p, *pe;
1746
- int cs = EVIL;
1747
- VALUE result = Qnil;
1748
- GET_PARSER;
1749
-
1750
-
1751
- #line 1752 "parser.c"
1752
- {
1753
- cs = JSON_start;
1754
- }
1755
-
1756
- #line 750 "parser.rl"
1757
- p = json->source;
1758
- pe = p + json->len;
1759
-
1760
- #line 1761 "parser.c"
1761
- {
1762
- if ( p == pe )
1763
- goto _test_eof;
1764
- switch ( cs )
1765
- {
1766
- st1:
1767
- if ( ++p == pe )
1768
- goto _test_eof1;
1769
- case 1:
1770
- switch( (*p) ) {
1771
- case 13: goto st1;
1772
- case 32: goto st1;
1773
- case 47: goto st2;
1774
- case 91: goto tr3;
1775
- case 123: goto tr4;
1776
- }
1777
- if ( 9 <= (*p) && (*p) <= 10 )
1778
- goto st1;
1779
- goto st0;
1780
- st0:
1781
- cs = 0;
1782
- goto _out;
1783
- st2:
1784
- if ( ++p == pe )
1785
- goto _test_eof2;
1786
- case 2:
1787
- switch( (*p) ) {
1788
- case 42: goto st3;
1789
- case 47: goto st5;
1790
- }
1791
- goto st0;
1792
- st3:
1793
- if ( ++p == pe )
1794
- goto _test_eof3;
1795
- case 3:
1796
- if ( (*p) == 42 )
1797
- goto st4;
1798
- goto st3;
1799
- st4:
1800
- if ( ++p == pe )
1801
- goto _test_eof4;
1802
- case 4:
1803
- switch( (*p) ) {
1804
- case 42: goto st4;
1805
- case 47: goto st1;
1806
- }
1807
- goto st3;
1808
- st5:
1809
- if ( ++p == pe )
1810
- goto _test_eof5;
1811
- case 5:
1812
- if ( (*p) == 10 )
1813
- goto st1;
1814
- goto st5;
1815
- tr3:
1816
- #line 729 "parser.rl"
1817
- {
1818
- char *np;
1819
- json->current_nesting = 1;
1820
- np = JSON_parse_array(json, p, pe, &result);
1821
- if (np == NULL) { p--; {p++; cs = 10; goto _out;} } else {p = (( np))-1;}
1822
- }
1823
- goto st10;
1824
- tr4:
1825
- #line 722 "parser.rl"
1826
- {
1827
- char *np;
1828
- json->current_nesting = 1;
1829
- np = JSON_parse_object(json, p, pe, &result);
1830
- if (np == NULL) { p--; {p++; cs = 10; goto _out;} } else {p = (( np))-1;}
1831
- }
1832
- goto st10;
1833
- st10:
1834
- if ( ++p == pe )
1835
- goto _test_eof10;
1836
- case 10:
1837
- #line 1838 "parser.c"
1838
- switch( (*p) ) {
1839
- case 13: goto st10;
1840
- case 32: goto st10;
1841
- case 47: goto st6;
1842
- }
1843
- if ( 9 <= (*p) && (*p) <= 10 )
1844
- goto st10;
1845
- goto st0;
1846
- st6:
1847
- if ( ++p == pe )
1848
- goto _test_eof6;
1849
- case 6:
1850
- switch( (*p) ) {
1851
- case 42: goto st7;
1852
- case 47: goto st9;
1853
- }
1854
- goto st0;
1855
- st7:
1856
- if ( ++p == pe )
1857
- goto _test_eof7;
1858
- case 7:
1859
- if ( (*p) == 42 )
1860
- goto st8;
1861
- goto st7;
1862
- st8:
1863
- if ( ++p == pe )
1864
- goto _test_eof8;
1865
- case 8:
1866
- switch( (*p) ) {
1867
- case 42: goto st8;
1868
- case 47: goto st10;
1869
- }
1870
- goto st7;
1871
- st9:
1872
- if ( ++p == pe )
1873
- goto _test_eof9;
1874
- case 9:
1875
- if ( (*p) == 10 )
1876
- goto st10;
1877
- goto st9;
1878
- }
1879
- _test_eof1: cs = 1; goto _test_eof;
1880
- _test_eof2: cs = 2; goto _test_eof;
1881
- _test_eof3: cs = 3; goto _test_eof;
1882
- _test_eof4: cs = 4; goto _test_eof;
1883
- _test_eof5: cs = 5; goto _test_eof;
1884
- _test_eof10: cs = 10; goto _test_eof;
1885
- _test_eof6: cs = 6; goto _test_eof;
1886
- _test_eof7: cs = 7; goto _test_eof;
1887
- _test_eof8: cs = 8; goto _test_eof;
1888
- _test_eof9: cs = 9; goto _test_eof;
1889
-
1890
- _test_eof: {}
1891
- _out: {}
1892
- }
1893
-
1894
- #line 753 "parser.rl"
1895
-
1896
- if (cs >= JSON_first_final && p == pe) {
1897
- return result;
1898
- } else {
1899
- rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
1900
- return Qnil;
1901
- }
1902
- }
1903
-
1904
-
1905
-
1906
- #line 1907 "parser.c"
1907
- enum {JSON_quirks_mode_start = 1};
1908
- enum {JSON_quirks_mode_first_final = 10};
1909
- enum {JSON_quirks_mode_error = 0};
1910
-
1911
- enum {JSON_quirks_mode_en_main = 1};
1912
-
1913
-
1914
- #line 778 "parser.rl"
1915
-
1916
-
1917
- static VALUE cParser_parse_quirks_mode(VALUE self)
1918
- {
1919
- char *p, *pe;
1920
- int cs = EVIL;
1921
- VALUE result = Qnil;
1922
- GET_PARSER;
1923
-
1924
-
1925
- #line 1926 "parser.c"
1926
- {
1927
- cs = JSON_quirks_mode_start;
1928
- }
1929
-
1930
- #line 788 "parser.rl"
1931
- p = json->source;
1932
- pe = p + json->len;
1933
-
1934
- #line 1935 "parser.c"
1935
- {
1936
- if ( p == pe )
1937
- goto _test_eof;
1938
- switch ( cs )
1939
- {
1940
- st1:
1941
- if ( ++p == pe )
1942
- goto _test_eof1;
1943
- case 1:
1944
- switch( (*p) ) {
1945
- case 13: goto st1;
1946
- case 32: goto st1;
1947
- case 34: goto tr2;
1948
- case 45: goto tr2;
1949
- case 47: goto st6;
1950
- case 73: goto tr2;
1951
- case 78: goto tr2;
1952
- case 91: goto tr2;
1953
- case 102: goto tr2;
1954
- case 110: goto tr2;
1955
- case 116: goto tr2;
1956
- case 123: goto tr2;
1957
- }
1958
- if ( (*p) > 10 ) {
1959
- if ( 48 <= (*p) && (*p) <= 57 )
1960
- goto tr2;
1961
- } else if ( (*p) >= 9 )
1962
- goto st1;
1963
- goto st0;
1964
- st0:
1965
- cs = 0;
1966
- goto _out;
1967
- tr2:
1968
- #line 770 "parser.rl"
1969
- {
1970
- char *np = JSON_parse_value(json, p, pe, &result);
1971
- if (np == NULL) { p--; {p++; cs = 10; goto _out;} } else {p = (( np))-1;}
1972
- }
1973
- goto st10;
1974
- st10:
1975
- if ( ++p == pe )
1976
- goto _test_eof10;
1977
- case 10:
1978
- #line 1979 "parser.c"
1979
- switch( (*p) ) {
1980
- case 13: goto st10;
1981
- case 32: goto st10;
1982
- case 47: goto st2;
1983
- }
1984
- if ( 9 <= (*p) && (*p) <= 10 )
1985
- goto st10;
1986
- goto st0;
1987
- st2:
1988
- if ( ++p == pe )
1989
- goto _test_eof2;
1990
- case 2:
1991
- switch( (*p) ) {
1992
- case 42: goto st3;
1993
- case 47: goto st5;
1994
- }
1995
- goto st0;
1996
- st3:
1997
- if ( ++p == pe )
1998
- goto _test_eof3;
1999
- case 3:
2000
- if ( (*p) == 42 )
2001
- goto st4;
2002
- goto st3;
2003
- st4:
2004
- if ( ++p == pe )
2005
- goto _test_eof4;
2006
- case 4:
2007
- switch( (*p) ) {
2008
- case 42: goto st4;
2009
- case 47: goto st10;
2010
- }
2011
- goto st3;
2012
- st5:
2013
- if ( ++p == pe )
2014
- goto _test_eof5;
2015
- case 5:
2016
- if ( (*p) == 10 )
2017
- goto st10;
2018
- goto st5;
2019
- st6:
2020
- if ( ++p == pe )
2021
- goto _test_eof6;
2022
- case 6:
2023
- switch( (*p) ) {
2024
- case 42: goto st7;
2025
- case 47: goto st9;
2026
- }
2027
- goto st0;
2028
- st7:
2029
- if ( ++p == pe )
2030
- goto _test_eof7;
2031
- case 7:
2032
- if ( (*p) == 42 )
2033
- goto st8;
2034
- goto st7;
2035
- st8:
2036
- if ( ++p == pe )
2037
- goto _test_eof8;
2038
- case 8:
2039
- switch( (*p) ) {
2040
- case 42: goto st8;
2041
- case 47: goto st1;
2042
- }
2043
- goto st7;
2044
- st9:
2045
- if ( ++p == pe )
2046
- goto _test_eof9;
2047
- case 9:
2048
- if ( (*p) == 10 )
2049
- goto st1;
2050
- goto st9;
2051
- }
2052
- _test_eof1: cs = 1; goto _test_eof;
2053
- _test_eof10: cs = 10; goto _test_eof;
2054
- _test_eof2: cs = 2; goto _test_eof;
2055
- _test_eof3: cs = 3; goto _test_eof;
2056
- _test_eof4: cs = 4; goto _test_eof;
2057
- _test_eof5: cs = 5; goto _test_eof;
2058
- _test_eof6: cs = 6; goto _test_eof;
2059
- _test_eof7: cs = 7; goto _test_eof;
2060
- _test_eof8: cs = 8; goto _test_eof;
2061
- _test_eof9: cs = 9; goto _test_eof;
2062
-
2063
- _test_eof: {}
2064
- _out: {}
2065
- }
2066
-
2067
- #line 791 "parser.rl"
2068
-
2069
- if (cs >= JSON_quirks_mode_first_final && p == pe) {
2070
- return result;
2071
- } else {
2072
- rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
2073
- return Qnil;
2074
- }
2075
- }
2076
-
2077
- /*
2078
- * call-seq: parse()
2079
- *
2080
- * Parses the current JSON text _source_ and returns the complete data
2081
- * structure as a result.
2082
- */
2083
- static VALUE cParser_parse(VALUE self)
2084
- {
2085
- GET_PARSER;
2086
-
2087
- if (json->quirks_mode) {
2088
- return cParser_parse_quirks_mode(self);
2089
- } else {
2090
- return cParser_parse_strict(self);
2091
- }
2092
- }
2093
-
2094
- static void JSON_mark(void *ptr)
2095
- {
2096
- JSON_Parser *json = ptr;
2097
- rb_gc_mark_maybe(json->Vsource);
2098
- rb_gc_mark_maybe(json->create_id);
2099
- rb_gc_mark_maybe(json->object_class);
2100
- rb_gc_mark_maybe(json->array_class);
2101
- rb_gc_mark_maybe(json->match_string);
2102
- }
2103
-
2104
- static void JSON_free(void *ptr)
2105
- {
2106
- JSON_Parser *json = ptr;
2107
- fbuffer_free(json->fbuffer);
2108
- ruby_xfree(json);
2109
- }
2110
-
2111
- static size_t JSON_memsize(const void *ptr)
2112
- {
2113
- const JSON_Parser *json = ptr;
2114
- return sizeof(*json) + FBUFFER_CAPA(json->fbuffer);
2115
- }
2116
-
2117
- #ifdef NEW_TYPEDDATA_WRAPPER
2118
- static const rb_data_type_t JSON_Parser_type = {
2119
- "JSON/Parser",
2120
- {JSON_mark, JSON_free, JSON_memsize,},
2121
- #ifdef RUBY_TYPED_FREE_IMMEDIATELY
2122
- 0, 0,
2123
- RUBY_TYPED_FREE_IMMEDIATELY,
2124
- #endif
2125
- };
2126
- #endif
2127
-
2128
- static VALUE cJSON_parser_s_allocate(VALUE klass)
2129
- {
2130
- JSON_Parser *json;
2131
- VALUE obj = TypedData_Make_Struct(klass, JSON_Parser, &JSON_Parser_type, json);
2132
- json->fbuffer = fbuffer_alloc(0);
2133
- return obj;
2134
- }
2135
-
2136
- /*
2137
- * call-seq: source()
2138
- *
2139
- * Returns a copy of the current _source_ string, that was used to construct
2140
- * this Parser.
2141
- */
2142
- static VALUE cParser_source(VALUE self)
2143
- {
2144
- GET_PARSER;
2145
- return rb_str_dup(json->Vsource);
2146
- }
2147
-
2148
- /*
2149
- * call-seq: quirks_mode?()
2150
- *
2151
- * Returns a true, if this parser is in quirks_mode, false otherwise.
2152
- */
2153
- static VALUE cParser_quirks_mode_p(VALUE self)
2154
- {
2155
- GET_PARSER;
2156
- return json->quirks_mode ? Qtrue : Qfalse;
2157
- }
2158
-
2159
-
2160
- void Init_parser(void)
2161
- {
2162
- rb_require("json/common");
2163
- mJSON = rb_define_module("JSON");
2164
- mExt = rb_define_module_under(mJSON, "Ext");
2165
- cParser = rb_define_class_under(mExt, "Parser", rb_cObject);
2166
- eParserError = rb_path2class("JSON::ParserError");
2167
- eNestingError = rb_path2class("JSON::NestingError");
2168
- rb_define_alloc_func(cParser, cJSON_parser_s_allocate);
2169
- rb_define_method(cParser, "initialize", cParser_initialize, -1);
2170
- rb_define_method(cParser, "parse", cParser_parse, 0);
2171
- rb_define_method(cParser, "source", cParser_source, 0);
2172
- rb_define_method(cParser, "quirks_mode?", cParser_quirks_mode_p, 0);
2173
-
2174
- CNaN = rb_const_get(mJSON, rb_intern("NaN"));
2175
- CInfinity = rb_const_get(mJSON, rb_intern("Infinity"));
2176
- CMinusInfinity = rb_const_get(mJSON, rb_intern("MinusInfinity"));
2177
-
2178
- i_json_creatable_p = rb_intern("json_creatable?");
2179
- i_json_create = rb_intern("json_create");
2180
- i_create_id = rb_intern("create_id");
2181
- i_create_additions = rb_intern("create_additions");
2182
- i_chr = rb_intern("chr");
2183
- i_max_nesting = rb_intern("max_nesting");
2184
- i_allow_nan = rb_intern("allow_nan");
2185
- i_symbolize_names = rb_intern("symbolize_names");
2186
- i_quirks_mode = rb_intern("quirks_mode");
2187
- i_object_class = rb_intern("object_class");
2188
- i_array_class = rb_intern("array_class");
2189
- i_match = rb_intern("match");
2190
- i_match_string = rb_intern("match_string");
2191
- i_key_p = rb_intern("key?");
2192
- i_deep_const_get = rb_intern("deep_const_get");
2193
- i_aset = rb_intern("[]=");
2194
- i_aref = rb_intern("[]");
2195
- i_leftshift = rb_intern("<<");
2196
- #ifdef HAVE_RUBY_ENCODING_H
2197
- CEncoding_UTF_8 = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-8"));
2198
- CEncoding_UTF_16BE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-16be"));
2199
- CEncoding_UTF_16LE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-16le"));
2200
- CEncoding_UTF_32BE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-32be"));
2201
- CEncoding_UTF_32LE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-32le"));
2202
- CEncoding_ASCII_8BIT = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("ascii-8bit"));
2203
- i_encoding = rb_intern("encoding");
2204
- i_encode = rb_intern("encode");
2205
- #else
2206
- i_iconv = rb_intern("iconv");
2207
- #endif
2208
- }
2209
-
2210
- /*
2211
- * Local variables:
2212
- * mode: c
2213
- * c-file-style: ruby
2214
- * indent-tabs-mode: nil
2215
- * End:
2216
- */