rubyjobbuilderdsl 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1258) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +8 -0
  3. data/lib/rubyjobbuilderdsl/buildstep/xvfb.rb +46 -0
  4. data/lib/rubyjobbuilderdsl/freestyle.rb +8 -0
  5. data/lib/rubyjobbuilderdsl/xml_generator.rb +14 -0
  6. data/rubyjobbuilderdsl-0.0.0.gem +0 -0
  7. data/rubyjobbuilderdsl.gemspec +2 -2
  8. data/sample/local.ini +3 -3
  9. data/test/test_xvfb.rb +35 -0
  10. data/vendor/bundle/ruby/2.1.0/bin/nokogiri +23 -0
  11. data/vendor/bundle/ruby/2.1.0/bin/nokogiri.bat +6 -0
  12. data/vendor/bundle/ruby/2.1.0/bin/rake +23 -0
  13. data/vendor/bundle/ruby/2.1.0/bin/rake.bat +6 -0
  14. data/vendor/bundle/ruby/2.1.0/bin/rubocop +23 -0
  15. data/vendor/bundle/ruby/2.1.0/bin/rubocop.bat +6 -0
  16. data/vendor/bundle/ruby/2.1.0/bin/ruby-parse +23 -0
  17. data/vendor/bundle/ruby/2.1.0/bin/ruby-parse.bat +6 -0
  18. data/vendor/bundle/ruby/2.1.0/bin/ruby-rewrite +23 -0
  19. data/vendor/bundle/ruby/2.1.0/bin/ruby-rewrite.bat +6 -0
  20. data/vendor/bundle/ruby/2.1.0/cache/ast-2.0.0.gem +0 -0
  21. data/vendor/bundle/ruby/2.1.0/cache/astrolabe-1.3.0.gem +0 -0
  22. data/vendor/bundle/ruby/2.1.0/cache/builder-3.2.2.gem +0 -0
  23. data/vendor/bundle/ruby/2.1.0/cache/mini_portile-0.6.0.gem +0 -0
  24. data/vendor/bundle/ruby/2.1.0/cache/nokogiri-1.6.3.1-x64-mingw32.gem +0 -0
  25. data/vendor/bundle/ruby/2.1.0/cache/parser-2.2.0.pre.4.gem +0 -0
  26. data/vendor/bundle/ruby/2.1.0/cache/powerpack-0.0.9.gem +0 -0
  27. data/vendor/bundle/ruby/2.1.0/cache/rainbow-2.0.0.gem +0 -0
  28. data/vendor/bundle/ruby/2.1.0/cache/rake-0.9.6.gem +0 -0
  29. data/vendor/bundle/ruby/2.1.0/cache/rubocop-0.26.0.gem +0 -0
  30. data/vendor/bundle/ruby/2.1.0/cache/ruby-progressbar-1.5.1.gem +0 -0
  31. data/vendor/bundle/ruby/2.1.0/cache/slop-3.6.0.gem +0 -0
  32. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/CHANGELOG.md +9 -0
  33. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/Gemfile +4 -0
  34. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/LICENSE.MIT +20 -0
  35. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/README.YARD.md +12 -0
  36. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/README.md +23 -0
  37. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/Rakefile +19 -0
  38. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/ast.gemspec +28 -0
  39. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/lib/ast/node.rb +232 -0
  40. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/lib/ast/processor.rb +266 -0
  41. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/lib/ast/sexp.rb +30 -0
  42. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/lib/ast.rb +17 -0
  43. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/test/helper.rb +17 -0
  44. data/vendor/bundle/ruby/2.1.0/gems/ast-2.0.0/test/test_ast.rb +243 -0
  45. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/CHANGELOG.md +23 -0
  46. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/Gemfile +9 -0
  47. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/Guardfile +17 -0
  48. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/LICENSE.txt +22 -0
  49. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/README.md +130 -0
  50. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/Rakefile +24 -0
  51. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/astrolabe.gemspec +34 -0
  52. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/benchmark/benchmark_helper.rb +122 -0
  53. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/benchmark/performance_spec.rb +346 -0
  54. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/lib/astrolabe/builder.rb +28 -0
  55. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/lib/astrolabe/node.rb +270 -0
  56. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/lib/astrolabe/sexp.rb +15 -0
  57. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/lib/astrolabe/version.rb +15 -0
  58. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/lib/astrolabe.rb +4 -0
  59. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/spec/astrolabe/node_spec.rb +479 -0
  60. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/spec/astrolabe/sexp_spec.rb +25 -0
  61. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/spec/spec_helper.rb +96 -0
  62. data/vendor/bundle/ruby/2.1.0/gems/astrolabe-1.3.0/spec/support/shared_contexts.rb +17 -0
  63. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/CHANGES +107 -0
  64. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/MIT-LICENSE +20 -0
  65. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/README.md +258 -0
  66. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/Rakefile +195 -0
  67. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/doc/jamis.rb +591 -0
  68. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/doc/releases/builder-1.2.4.rdoc +31 -0
  69. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/doc/releases/builder-2.0.0.rdoc +46 -0
  70. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/doc/releases/builder-2.1.1.rdoc +58 -0
  71. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/lib/blankslate.rb +137 -0
  72. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/lib/builder/blankslate.rb +23 -0
  73. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/lib/builder/version.rb +8 -0
  74. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/lib/builder/xchar.rb +197 -0
  75. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/lib/builder/xmlbase.rb +199 -0
  76. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/lib/builder/xmlevents.rb +63 -0
  77. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/lib/builder/xmlmarkup.rb +339 -0
  78. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/lib/builder.rb +13 -0
  79. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/rakelib/publish.rake +17 -0
  80. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/rakelib/tags.rake +62 -0
  81. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/test/performance.rb +41 -0
  82. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/test/preload.rb +39 -0
  83. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/test/test_blankslate.rb +217 -0
  84. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/test/test_eventbuilder.rb +150 -0
  85. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/test/test_markupbuilder.rb +611 -0
  86. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/test/test_method_caching.rb +62 -0
  87. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/test/test_namecollision.rb +39 -0
  88. data/vendor/bundle/ruby/2.1.0/gems/builder-3.2.2/test/test_xchar.rb +78 -0
  89. data/vendor/bundle/ruby/2.1.0/gems/mini_portile-0.6.0/History.txt +86 -0
  90. data/vendor/bundle/ruby/2.1.0/gems/mini_portile-0.6.0/LICENSE.txt +20 -0
  91. data/vendor/bundle/ruby/2.1.0/gems/mini_portile-0.6.0/README.rdoc +169 -0
  92. data/vendor/bundle/ruby/2.1.0/gems/mini_portile-0.6.0/Rakefile +53 -0
  93. data/vendor/bundle/ruby/2.1.0/gems/mini_portile-0.6.0/examples/Rakefile +113 -0
  94. data/vendor/bundle/ruby/2.1.0/gems/mini_portile-0.6.0/lib/mini_portile.rb +437 -0
  95. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/CHANGELOG.ja.rdoc +913 -0
  96. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/CHANGELOG.rdoc +922 -0
  97. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/C_CODING_STYLE.rdoc +33 -0
  98. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/Gemfile +21 -0
  99. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/Manifest.txt +377 -0
  100. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/README.ja.rdoc +111 -0
  101. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/README.rdoc +180 -0
  102. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ROADMAP.md +89 -0
  103. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/Rakefile +356 -0
  104. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/STANDARD_RESPONSES.md +47 -0
  105. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/Y_U_NO_GEMSPEC.md +155 -0
  106. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/bin/nokogiri +78 -0
  107. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/build_all +129 -0
  108. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/dependencies.yml +4 -0
  109. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/depend +358 -0
  110. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/extconf.rb +548 -0
  111. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_document.c +170 -0
  112. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_document.h +10 -0
  113. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_element_description.c +279 -0
  114. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_element_description.h +10 -0
  115. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_entity_lookup.c +32 -0
  116. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_entity_lookup.h +8 -0
  117. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_sax_parser_context.c +116 -0
  118. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_sax_parser_context.h +11 -0
  119. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_sax_push_parser.c +87 -0
  120. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/html_sax_push_parser.h +9 -0
  121. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/nokogiri.c +148 -0
  122. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/nokogiri.h +164 -0
  123. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_attr.c +94 -0
  124. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_attr.h +9 -0
  125. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_attribute_decl.c +70 -0
  126. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_attribute_decl.h +9 -0
  127. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_cdata.c +56 -0
  128. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_cdata.h +9 -0
  129. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_comment.c +54 -0
  130. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_comment.h +9 -0
  131. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_document.c +600 -0
  132. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_document.h +23 -0
  133. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_document_fragment.c +48 -0
  134. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_document_fragment.h +10 -0
  135. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_dtd.c +202 -0
  136. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_dtd.h +10 -0
  137. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_element_content.c +123 -0
  138. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_element_content.h +10 -0
  139. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_element_decl.c +69 -0
  140. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_element_decl.h +9 -0
  141. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_encoding_handler.c +79 -0
  142. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_encoding_handler.h +8 -0
  143. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_entity_decl.c +110 -0
  144. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_entity_decl.h +10 -0
  145. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_entity_reference.c +52 -0
  146. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_entity_reference.h +9 -0
  147. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_io.c +56 -0
  148. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_io.h +11 -0
  149. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_libxml2_hacks.c +112 -0
  150. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_libxml2_hacks.h +12 -0
  151. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_namespace.c +78 -0
  152. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_namespace.h +13 -0
  153. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_node.c +1603 -0
  154. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_node.h +13 -0
  155. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_node_set.c +467 -0
  156. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_node_set.h +14 -0
  157. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_processing_instruction.c +56 -0
  158. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_processing_instruction.h +9 -0
  159. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_reader.c +681 -0
  160. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_reader.h +10 -0
  161. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_relax_ng.c +161 -0
  162. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_relax_ng.h +9 -0
  163. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_sax_parser.c +312 -0
  164. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_sax_parser.h +39 -0
  165. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_sax_parser_context.c +262 -0
  166. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_sax_parser_context.h +10 -0
  167. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_sax_push_parser.c +115 -0
  168. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_sax_push_parser.h +9 -0
  169. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_schema.c +205 -0
  170. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_schema.h +9 -0
  171. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_syntax_error.c +63 -0
  172. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_syntax_error.h +13 -0
  173. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_text.c +52 -0
  174. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_text.h +9 -0
  175. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_xpath_context.c +307 -0
  176. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xml_xpath_context.h +10 -0
  177. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xslt_stylesheet.c +270 -0
  178. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/ext/nokogiri/xslt_stylesheet.h +14 -0
  179. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/2.0/nokogiri.so +0 -0
  180. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/2.1/nokogiri.so +0 -0
  181. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/css/node.rb +52 -0
  182. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/css/parser.rb +715 -0
  183. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/css/parser.y +249 -0
  184. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/css/parser_extras.rb +91 -0
  185. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/css/syntax_error.rb +7 -0
  186. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/css/tokenizer.rb +152 -0
  187. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/css/tokenizer.rex +55 -0
  188. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/css/xpath_visitor.rb +219 -0
  189. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/css.rb +27 -0
  190. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/decorators/slop.rb +35 -0
  191. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html/builder.rb +35 -0
  192. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html/document.rb +333 -0
  193. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html/document_fragment.rb +41 -0
  194. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html/element_description.rb +23 -0
  195. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html/element_description_defaults.rb +671 -0
  196. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html/entity_lookup.rb +13 -0
  197. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html/sax/parser.rb +52 -0
  198. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html/sax/parser_context.rb +16 -0
  199. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html/sax/push_parser.rb +16 -0
  200. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/html.rb +37 -0
  201. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/syntax_error.rb +4 -0
  202. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/version.rb +106 -0
  203. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/attr.rb +14 -0
  204. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/attribute_decl.rb +18 -0
  205. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/builder.rb +443 -0
  206. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/cdata.rb +11 -0
  207. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/character_data.rb +7 -0
  208. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/document.rb +279 -0
  209. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/document_fragment.rb +112 -0
  210. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/dtd.rb +32 -0
  211. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/element_content.rb +36 -0
  212. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/element_decl.rb +13 -0
  213. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/entity_decl.rb +19 -0
  214. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/namespace.rb +13 -0
  215. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/node/save_options.rb +61 -0
  216. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/node.rb +992 -0
  217. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/node_set.rb +355 -0
  218. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/notation.rb +6 -0
  219. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/parse_options.rb +98 -0
  220. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/pp/character_data.rb +18 -0
  221. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/pp/node.rb +56 -0
  222. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/pp.rb +2 -0
  223. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/processing_instruction.rb +8 -0
  224. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/reader.rb +112 -0
  225. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/relax_ng.rb +32 -0
  226. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/sax/document.rb +171 -0
  227. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/sax/parser.rb +123 -0
  228. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/sax/parser_context.rb +16 -0
  229. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/sax/push_parser.rb +60 -0
  230. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/sax.rb +4 -0
  231. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/schema.rb +63 -0
  232. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/syntax_error.rb +47 -0
  233. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/text.rb +9 -0
  234. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/xpath/syntax_error.rb +11 -0
  235. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/xpath.rb +10 -0
  236. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml/xpath_context.rb +16 -0
  237. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xml.rb +73 -0
  238. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xslt/stylesheet.rb +25 -0
  239. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri/xslt.rb +56 -0
  240. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/nokogiri.rb +137 -0
  241. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/lib/xsd/xmlparser/nokogiri.rb +102 -0
  242. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/suppressions/README.txt +1 -0
  243. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/suppressions/nokogiri_ree-1.8.7.358.supp +61 -0
  244. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/suppressions/nokogiri_ruby-1.8.7.370.supp +0 -0
  245. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/suppressions/nokogiri_ruby-1.9.2.320.supp +28 -0
  246. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/suppressions/nokogiri_ruby-1.9.3.327.supp +28 -0
  247. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/tasks/nokogiri.org.rb +24 -0
  248. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/tasks/test.rb +95 -0
  249. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/css/test_nthiness.rb +222 -0
  250. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/css/test_parser.rb +358 -0
  251. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/css/test_tokenizer.rb +198 -0
  252. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/css/test_xpath_visitor.rb +96 -0
  253. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/decorators/test_slop.rb +16 -0
  254. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/2ch.html +108 -0
  255. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/address_book.rlx +12 -0
  256. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/address_book.xml +10 -0
  257. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/atom.xml +344 -0
  258. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/bar/bar.xsd +4 -0
  259. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/bogus.xml +0 -0
  260. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/dont_hurt_em_why.xml +422 -0
  261. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/encoding.html +82 -0
  262. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/encoding.xhtml +84 -0
  263. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/exslt.xml +8 -0
  264. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/exslt.xslt +35 -0
  265. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/foo/foo.xsd +4 -0
  266. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/metacharset.html +10 -0
  267. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/noencoding.html +47 -0
  268. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/po.xml +32 -0
  269. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/po.xsd +66 -0
  270. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/saml/saml20assertion_schema.xsd +283 -0
  271. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/saml/saml20protocol_schema.xsd +302 -0
  272. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/saml/xenc_schema.xsd +146 -0
  273. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/saml/xmldsig_schema.xsd +318 -0
  274. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/shift_jis.html +10 -0
  275. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/shift_jis.xml +5 -0
  276. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/shift_jis_no_charset.html +9 -0
  277. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/slow-xpath.xml +25509 -0
  278. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/snuggles.xml +3 -0
  279. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/staff.dtd +10 -0
  280. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/staff.xml +59 -0
  281. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/staff.xslt +32 -0
  282. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/test_document_url/bar.xml +2 -0
  283. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/test_document_url/document.dtd +4 -0
  284. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/test_document_url/document.xml +6 -0
  285. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/tlm.html +850 -0
  286. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/to_be_xincluded.xml +2 -0
  287. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/valid_bar.xml +2 -0
  288. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/files/xinclude.xml +4 -0
  289. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/helper.rb +164 -0
  290. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/sax/test_parser.rb +141 -0
  291. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/sax/test_parser_context.rb +46 -0
  292. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/test_builder.rb +164 -0
  293. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/test_document.rb +619 -0
  294. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/test_document_encoding.rb +148 -0
  295. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/test_document_fragment.rb +267 -0
  296. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/test_element_description.rb +105 -0
  297. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/test_named_characters.rb +14 -0
  298. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/test_node.rb +196 -0
  299. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/html/test_node_encoding.rb +27 -0
  300. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/namespaces/test_additional_namespaces_in_builder_doc.rb +14 -0
  301. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/namespaces/test_namespaces_aliased_default.rb +24 -0
  302. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/namespaces/test_namespaces_in_builder_doc.rb +75 -0
  303. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/namespaces/test_namespaces_in_cloned_doc.rb +31 -0
  304. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/namespaces/test_namespaces_in_created_doc.rb +75 -0
  305. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/namespaces/test_namespaces_in_parsed_doc.rb +66 -0
  306. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/namespaces/test_namespaces_preservation.rb +31 -0
  307. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/test_convert_xpath.rb +135 -0
  308. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/test_css_cache.rb +45 -0
  309. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/test_encoding_handler.rb +46 -0
  310. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/test_memory_leak.rb +156 -0
  311. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/test_nokogiri.rb +138 -0
  312. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/test_reader.rb +558 -0
  313. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/test_soap4r_sax.rb +52 -0
  314. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/test_xslt_transforms.rb +279 -0
  315. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/node/test_save_options.rb +28 -0
  316. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/node/test_subclass.rb +44 -0
  317. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/sax/test_parser.rb +382 -0
  318. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/sax/test_parser_context.rb +115 -0
  319. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/sax/test_push_parser.rb +157 -0
  320. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_attr.rb +64 -0
  321. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_attribute_decl.rb +86 -0
  322. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_builder.rb +315 -0
  323. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_c14n.rb +161 -0
  324. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_cdata.rb +48 -0
  325. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_comment.rb +29 -0
  326. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_document.rb +940 -0
  327. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_document_encoding.rb +28 -0
  328. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_document_fragment.rb +228 -0
  329. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_dtd.rb +187 -0
  330. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_dtd_encoding.rb +33 -0
  331. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_element_content.rb +56 -0
  332. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_element_decl.rb +73 -0
  333. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_entity_decl.rb +122 -0
  334. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_entity_reference.rb +245 -0
  335. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_namespace.rb +95 -0
  336. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_node.rb +1197 -0
  337. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_node_attributes.rb +113 -0
  338. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_node_encoding.rb +107 -0
  339. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_node_inheritance.rb +32 -0
  340. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_node_reparenting.rb +374 -0
  341. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_node_set.rb +755 -0
  342. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_parse_options.rb +64 -0
  343. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_processing_instruction.rb +30 -0
  344. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_reader_encoding.rb +142 -0
  345. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_relax_ng.rb +60 -0
  346. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_schema.rb +129 -0
  347. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_syntax_error.rb +12 -0
  348. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_text.rb +60 -0
  349. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_unparented_node.rb +427 -0
  350. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_xinclude.rb +83 -0
  351. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xml/test_xpath.rb +382 -0
  352. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xslt/test_custom_functions.rb +133 -0
  353. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test/xslt/test_exception_handling.rb +37 -0
  354. data/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.3.1-x64-mingw32/test_all +81 -0
  355. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/CHANGELOG.md +496 -0
  356. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/CONTRIBUTING.md +10 -0
  357. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/Gemfile +4 -0
  358. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/LICENSE.txt +25 -0
  359. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/README.md +272 -0
  360. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/Rakefile +146 -0
  361. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/bin/ruby-parse +6 -0
  362. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/bin/ruby-rewrite +6 -0
  363. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/doc/AST_FORMAT.md +1546 -0
  364. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/doc/CUSTOMIZATION.md +37 -0
  365. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/doc/INTERNALS.md +21 -0
  366. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/doc/css/common.css +68 -0
  367. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/gauntlet_parser.rb +121 -0
  368. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/all.rb +4 -0
  369. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ast/node.rb +36 -0
  370. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ast/processor.rb +190 -0
  371. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/base.rb +269 -0
  372. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/builders/default.rb +1383 -0
  373. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/clobbering_error.rb +11 -0
  374. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/compatibility/ruby1_8.rb +20 -0
  375. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/compatibility/ruby1_9.rb +32 -0
  376. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/current.rb +45 -0
  377. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/diagnostic/engine.rb +103 -0
  378. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/diagnostic.rb +104 -0
  379. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/lexer/explanation.rb +51 -0
  380. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/lexer/literal.rb +235 -0
  381. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/lexer/stack_state.rb +42 -0
  382. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/lexer.rb +20895 -0
  383. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/lexer.rl +2163 -0
  384. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/messages.rb +65 -0
  385. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/meta.rb +26 -0
  386. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/rewriter.rb +119 -0
  387. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby18.rb +6344 -0
  388. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby18.y +1917 -0
  389. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby19.rb +6827 -0
  390. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby19.y +2148 -0
  391. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby20.rb +7332 -0
  392. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby20.y +2324 -0
  393. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby21.rb +7385 -0
  394. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby21.y +2319 -0
  395. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby22.rb +7393 -0
  396. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/ruby22.y +2327 -0
  397. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/runner/ruby_parse.rb +129 -0
  398. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/runner/ruby_rewrite.rb +98 -0
  399. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/runner.rb +215 -0
  400. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/buffer.rb +245 -0
  401. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/comment/associator.rb +157 -0
  402. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/comment.rb +106 -0
  403. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/collection.rb +16 -0
  404. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/condition.rb +19 -0
  405. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/constant.rb +30 -0
  406. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/definition.rb +21 -0
  407. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/for.rb +17 -0
  408. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/heredoc.rb +17 -0
  409. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/keyword.rb +18 -0
  410. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/operator.rb +15 -0
  411. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/rescue_body.rb +19 -0
  412. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/send.rb +34 -0
  413. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/ternary.rb +16 -0
  414. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map/variable.rb +29 -0
  415. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/map.rb +146 -0
  416. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/range.rb +187 -0
  417. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/rewriter/action.rb +30 -0
  418. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/source/rewriter.rb +221 -0
  419. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/static_environment.rb +44 -0
  420. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/syntax_error.rb +19 -0
  421. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser/version.rb +3 -0
  422. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/lib/parser.rb +79 -0
  423. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/parser.gemspec +49 -0
  424. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/helper.rb +45 -0
  425. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/parse_helper.rb +241 -0
  426. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/racc_coverage_helper.rb +130 -0
  427. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_base.rb +18 -0
  428. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_current.rb +21 -0
  429. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_diagnostic.rb +49 -0
  430. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_diagnostic_engine.rb +60 -0
  431. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_encoding.rb +78 -0
  432. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_lexer.rb +3064 -0
  433. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_lexer_stack_state.rb +76 -0
  434. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_parse_helper.rb +80 -0
  435. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_parser.rb +4872 -0
  436. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_source_buffer.rb +103 -0
  437. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_source_comment.rb +34 -0
  438. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_source_comment_associator.rb +107 -0
  439. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_source_range.rb +77 -0
  440. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_source_rewriter.rb +183 -0
  441. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_source_rewriter_action.rb +44 -0
  442. data/vendor/bundle/ruby/2.1.0/gems/parser-2.2.0.pre.4/test/test_static_environment.rb +43 -0
  443. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/CHANGELOG.md +28 -0
  444. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/Gemfile +4 -0
  445. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/LICENSE.txt +22 -0
  446. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/README.md +95 -0
  447. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/Rakefile +12 -0
  448. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/array/butfirst.rb +15 -0
  449. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/array/butlast.rb +15 -0
  450. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/array.rb +2 -0
  451. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable/average.rb +20 -0
  452. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable/drop_last.rb +20 -0
  453. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable/drop_last_while.rb +21 -0
  454. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable/exactly.rb +43 -0
  455. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable/frequencies.rb +17 -0
  456. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable/several.rb +37 -0
  457. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable/sum.rb +21 -0
  458. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable/take_last.rb +20 -0
  459. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable/take_last_while.rb +17 -0
  460. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/enumerable.rb +9 -0
  461. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/hash/symbolize_keys.rb +14 -0
  462. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/hash.rb +1 -0
  463. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/numeric/neg.rb +19 -0
  464. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/numeric/pos.rb +19 -0
  465. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/numeric/scale.rb +44 -0
  466. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/numeric.rb +3 -0
  467. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/string/ascii_only.rb +42 -0
  468. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/string/blank.rb +20 -0
  469. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/string/format.rb +20 -0
  470. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/string/remove.rb +17 -0
  471. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/string/squish.rb +27 -0
  472. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/string/strip_indent.rb +22 -0
  473. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/string/strip_margin.rb +21 -0
  474. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/string.rb +7 -0
  475. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack/version.rb +3 -0
  476. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/lib/powerpack.rb +11 -0
  477. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/powerpack.gemspec +24 -0
  478. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/array/butfirst_spec.rb +11 -0
  479. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/array/butlast_spec.rb +11 -0
  480. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/enumerable/average_spec.rb +19 -0
  481. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/enumerable/drop_last_spec.rb +15 -0
  482. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/enumerable/drop_last_while_spec.rb +7 -0
  483. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/enumerable/exactly_spec.rb +39 -0
  484. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/enumerable/frequencies_spec.rb +20 -0
  485. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/enumerable/several_spec.rb +27 -0
  486. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/enumerable/sum_spec.rb +15 -0
  487. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/enumerable/take_last_spec.rb +15 -0
  488. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/enumerable/take_last_while_spec.rb +7 -0
  489. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/hash/symbolize_keys_spec.rb +15 -0
  490. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/numeric/neg_spec.rb +24 -0
  491. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/numeric/pos_spec.rb +24 -0
  492. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/numeric/scale_spec.rb +139 -0
  493. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/string/ascii_only_spec.rb +45 -0
  494. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/string/blank_spec.rb +15 -0
  495. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/string/format_spec.rb +12 -0
  496. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/string/remove_spec.rb +13 -0
  497. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/string/squish_spec.rb +21 -0
  498. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/string/strip_indent_spec.rb +13 -0
  499. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/powerpack/string/strip_margin_spec.rb +26 -0
  500. data/vendor/bundle/ruby/2.1.0/gems/powerpack-0.0.9/spec/spec_helper.rb +17 -0
  501. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/Changelog.md +67 -0
  502. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/Gemfile +17 -0
  503. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/Guardfile +9 -0
  504. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/LICENSE +20 -0
  505. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/README.markdown +175 -0
  506. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/Rakefile +6 -0
  507. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow/color.rb +115 -0
  508. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow/ext/string.rb +52 -0
  509. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow/global.rb +21 -0
  510. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow/legacy.rb +15 -0
  511. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow/null_presenter.rb +30 -0
  512. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow/presenter.rb +113 -0
  513. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow/string_utils.rb +23 -0
  514. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow/version.rb +3 -0
  515. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow/wrapper.rb +22 -0
  516. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/lib/rainbow.rb +24 -0
  517. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/rainbow.gemspec +25 -0
  518. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/integration/instance_spec.rb +35 -0
  519. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/integration/rainbow_spec.rb +139 -0
  520. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/integration/string_spec.rb +76 -0
  521. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/spec_helper.rb +6 -0
  522. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/support/presenter_shared_examples.rb +9 -0
  523. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/unit/color_spec.rb +244 -0
  524. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/unit/namespace_spec.rb +31 -0
  525. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/unit/null_presenter_spec.rb +93 -0
  526. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/unit/presenter_spec.rb +168 -0
  527. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/unit/string_utils_spec.rb +62 -0
  528. data/vendor/bundle/ruby/2.1.0/gems/rainbow-2.0.0/spec/unit/wrapper_spec.rb +28 -0
  529. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/CHANGES +526 -0
  530. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/MIT-LICENSE +21 -0
  531. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/README.rdoc +187 -0
  532. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/Rakefile +374 -0
  533. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/TODO +21 -0
  534. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/bin/rake +37 -0
  535. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/command_line_usage.rdoc +169 -0
  536. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/example/Rakefile1 +38 -0
  537. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/example/Rakefile2 +35 -0
  538. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/example/a.c +6 -0
  539. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/example/b.c +6 -0
  540. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/example/main.c +11 -0
  541. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/glossary.rdoc +51 -0
  542. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/jamis.rb +591 -0
  543. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/proto_rake.rdoc +127 -0
  544. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/rake.1.gz +0 -0
  545. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/rakefile.rdoc +557 -0
  546. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/rational.rdoc +151 -0
  547. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.4.14.rdoc +23 -0
  548. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.4.15.rdoc +35 -0
  549. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.5.0.rdoc +53 -0
  550. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.5.3.rdoc +78 -0
  551. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.5.4.rdoc +46 -0
  552. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.6.0.rdoc +141 -0
  553. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.7.0.rdoc +119 -0
  554. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.7.1.rdoc +59 -0
  555. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.7.2.rdoc +121 -0
  556. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.7.3.rdoc +47 -0
  557. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.8.0.rdoc +114 -0
  558. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.8.2.rdoc +165 -0
  559. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.8.3.rdoc +112 -0
  560. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.8.4.rdoc +147 -0
  561. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.8.5.rdoc +53 -0
  562. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.8.6.rdoc +55 -0
  563. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.8.7.rdoc +55 -0
  564. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.9.0.rdoc +112 -0
  565. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.9.1.rdoc +52 -0
  566. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  567. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.9.2.rdoc +49 -0
  568. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.9.3.rdoc +102 -0
  569. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.9.4.rdoc +110 -0
  570. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.9.5.rdoc +114 -0
  571. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/doc/release_notes/rake-0.9.6.rdoc +127 -0
  572. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/install.rb +90 -0
  573. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/alt_system.rb +109 -0
  574. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/application.rb +702 -0
  575. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/backtrace.rb +18 -0
  576. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/classic_namespace.rb +11 -0
  577. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/clean.rb +32 -0
  578. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/cloneable.rb +16 -0
  579. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/contrib/compositepublisher.rb +21 -0
  580. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/contrib/ftptools.rb +151 -0
  581. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/contrib/publisher.rb +73 -0
  582. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/contrib/rubyforgepublisher.rb +16 -0
  583. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/contrib/sshpublisher.rb +50 -0
  584. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/contrib/sys.rb +192 -0
  585. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/default_loader.rb +10 -0
  586. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/dsl_definition.rb +182 -0
  587. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/early_time.rb +18 -0
  588. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/ext/core.rb +27 -0
  589. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/ext/module.rb +39 -0
  590. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/ext/string.rb +168 -0
  591. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/ext/time.rb +15 -0
  592. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/file_creation_task.rb +24 -0
  593. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/file_list.rb +410 -0
  594. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/file_task.rb +47 -0
  595. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/file_utils.rb +114 -0
  596. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/file_utils_ext.rb +146 -0
  597. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/gempackagetask.rb +15 -0
  598. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/invocation_chain.rb +51 -0
  599. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/invocation_exception_mixin.rb +16 -0
  600. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/loaders/makefile.rb +40 -0
  601. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/multi_task.rb +13 -0
  602. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/name_space.rb +25 -0
  603. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/packagetask.rb +185 -0
  604. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/pathmap.rb +1 -0
  605. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/phony.rb +15 -0
  606. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/private_reader.rb +20 -0
  607. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/promise.rb +99 -0
  608. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/pseudo_status.rb +24 -0
  609. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/rake_module.rb +37 -0
  610. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/rake_test_loader.rb +22 -0
  611. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/rdoctask.rb +234 -0
  612. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/ruby182_test_unit_fix.rb +25 -0
  613. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/rule_recursion_overflow_error.rb +20 -0
  614. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/runtest.rb +22 -0
  615. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/task.rb +350 -0
  616. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/task_argument_error.rb +7 -0
  617. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/task_arguments.rb +78 -0
  618. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/task_manager.rb +307 -0
  619. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/tasklib.rb +22 -0
  620. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/testtask.rb +198 -0
  621. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/thread_history_display.rb +48 -0
  622. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/thread_pool.rb +155 -0
  623. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/trace_output.rb +19 -0
  624. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/version.rb +13 -0
  625. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake/win32.rb +55 -0
  626. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/lib/rake.rb +71 -0
  627. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/file_creation.rb +34 -0
  628. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/helper.rb +562 -0
  629. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_private_reader.rb +42 -0
  630. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake.rb +40 -0
  631. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_application.rb +531 -0
  632. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_application_options.rb +460 -0
  633. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_backtrace.rb +89 -0
  634. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_clean.rb +14 -0
  635. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_definitions.rb +80 -0
  636. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_directory_task.rb +57 -0
  637. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_dsl.rb +77 -0
  638. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_early_time.rb +31 -0
  639. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_extension.rb +59 -0
  640. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_file_creation_task.rb +56 -0
  641. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_file_list.rb +628 -0
  642. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_file_list_path_map.rb +8 -0
  643. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_file_task.rb +122 -0
  644. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_file_utils.rb +305 -0
  645. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_ftp_file.rb +59 -0
  646. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_functional.rb +496 -0
  647. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_invocation_chain.rb +52 -0
  648. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_makefile_loader.rb +44 -0
  649. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_multi_task.rb +59 -0
  650. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_name_space.rb +43 -0
  651. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_package_task.rb +79 -0
  652. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_path_map.rb +157 -0
  653. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_path_map_explode.rb +34 -0
  654. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_path_map_partial.rb +18 -0
  655. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_pseudo_status.rb +21 -0
  656. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_rake_test_loader.rb +21 -0
  657. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_rdoc_task.rb +83 -0
  658. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_reduce_compat.rb +65 -0
  659. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_require.rb +40 -0
  660. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_rules.rb +327 -0
  661. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_task.rb +316 -0
  662. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_task_argument_parsing.rb +103 -0
  663. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_task_arguments.rb +88 -0
  664. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_task_lib.rb +9 -0
  665. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_task_manager.rb +157 -0
  666. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_task_manager_argument_resolution.rb +36 -0
  667. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_task_with_arguments.rb +181 -0
  668. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_test_task.rb +120 -0
  669. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_thread_pool.rb +123 -0
  670. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_top_level_functions.rb +111 -0
  671. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_rake_win32.rb +72 -0
  672. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_sys.rb +20 -0
  673. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_thread_history_display.rb +91 -0
  674. data/vendor/bundle/ruby/2.1.0/gems/rake-0.9.6/test/test_trace_output.rb +43 -0
  675. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/CHANGELOG.md +1095 -0
  676. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/CONTRIBUTING.md +68 -0
  677. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/Gemfile +15 -0
  678. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/LICENSE.txt +20 -0
  679. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/README.md +807 -0
  680. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/Rakefile +43 -0
  681. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/assets/output.html.erb +190 -0
  682. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/bin/rubocop +17 -0
  683. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/config/default.yml +581 -0
  684. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/config/disabled.yml +20 -0
  685. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/config/enabled.yml +952 -0
  686. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cli.rb +116 -0
  687. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/comment_config.rb +101 -0
  688. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/config.rb +160 -0
  689. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/config_loader.rb +152 -0
  690. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/config_store.rb +44 -0
  691. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/commissioner.rb +102 -0
  692. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/cop.rb +218 -0
  693. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/corrector.rb +84 -0
  694. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/force.rb +41 -0
  695. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/ignored_node.rb +38 -0
  696. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/ambiguous_operator.rb +50 -0
  697. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +36 -0
  698. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/assignment_in_condition.rb +46 -0
  699. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/block_alignment.rb +176 -0
  700. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/condition_position.rb +52 -0
  701. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/debugger.rb +55 -0
  702. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/def_end_alignment.rb +51 -0
  703. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/deprecated_class_methods.rb +62 -0
  704. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/else_layout.rb +57 -0
  705. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/empty_ensure.rb +18 -0
  706. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/empty_interpolation.rb +22 -0
  707. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/end_alignment.rb +75 -0
  708. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/end_in_method.rb +17 -0
  709. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/ensure_return.rb +22 -0
  710. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/eval.rb +18 -0
  711. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/handle_exceptions.rb +18 -0
  712. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/invalid_character_literal.rb +37 -0
  713. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/literal_in_condition.rb +138 -0
  714. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/literal_in_interpolation.rb +37 -0
  715. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/loop.rb +27 -0
  716. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +51 -0
  717. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/require_parentheses.rb +68 -0
  718. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/rescue_exception.rb +35 -0
  719. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +29 -0
  720. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/space_before_first_arg.rb +44 -0
  721. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +50 -0
  722. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/syntax.rb +52 -0
  723. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +39 -0
  724. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/unreachable_code.rb +32 -0
  725. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/unused_block_argument.rb +80 -0
  726. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/unused_method_argument.rb +43 -0
  727. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/useless_access_modifier.rb +59 -0
  728. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/useless_assignment.rb +113 -0
  729. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/useless_comparison.rb +29 -0
  730. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/useless_else_without_rescue.rb +31 -0
  731. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/useless_setter_call.rb +157 -0
  732. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/lint/void.rb +52 -0
  733. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/metrics/block_nesting.rb +54 -0
  734. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/metrics/class_length.rb +48 -0
  735. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +30 -0
  736. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/metrics/line_length.rb +88 -0
  737. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/metrics/method_length.rb +33 -0
  738. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/metrics/parameter_lists.rb +44 -0
  739. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/metrics/perceived_complexity.rb +61 -0
  740. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/access_modifier_node.rb +22 -0
  741. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/annotation_comment.rb +37 -0
  742. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/array_syntax.rb +24 -0
  743. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/autocorrect_alignment.rb +112 -0
  744. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/autocorrect_unless_changing_ast.rb +36 -0
  745. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/check_assignment.rb +37 -0
  746. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/code_length.rb +32 -0
  747. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/configurable_enforced_style.rb +53 -0
  748. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/configurable_max.rb +19 -0
  749. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/configurable_naming.rb +31 -0
  750. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/end_keyword_alignment.rb +42 -0
  751. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/if_node.rb +25 -0
  752. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/method_complexity.rb +30 -0
  753. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/negative_conditional.rb +24 -0
  754. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/on_method.rb +30 -0
  755. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/on_normal_if_unless.rb +24 -0
  756. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/parser_diagnostic.rb +34 -0
  757. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/percent_literal.rb +26 -0
  758. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/safe_assignment.rb +30 -0
  759. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/space_after_punctuation.rb +33 -0
  760. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/space_before_punctuation.rb +32 -0
  761. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/space_inside.rb +63 -0
  762. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/statement_modifier.rb +58 -0
  763. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/string_help.rb +32 -0
  764. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/surrounding_space.rb +42 -0
  765. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/mixin/unused_argument.rb +36 -0
  766. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/offense.rb +132 -0
  767. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/rails/action_filter.rb +71 -0
  768. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/rails/default_scope.rb +33 -0
  769. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/rails/delegate.rb +111 -0
  770. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +17 -0
  771. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/rails/output.rb +27 -0
  772. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/rails/read_write_attribute.rb +42 -0
  773. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/rails/scope_args.rb +33 -0
  774. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/rails/validation.rb +53 -0
  775. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/severity.rb +76 -0
  776. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/access_modifier_indentation.rb +87 -0
  777. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/accessor_method_name.rb +45 -0
  778. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/alias.rb +48 -0
  779. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/align_array.rb +20 -0
  780. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/align_hash.rb +265 -0
  781. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/align_parameters.rb +51 -0
  782. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/and_or.rb +85 -0
  783. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/array_join.rb +24 -0
  784. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/ascii_comments.rb +19 -0
  785. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/ascii_identifiers.rb +19 -0
  786. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/attr.rb +24 -0
  787. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/bare_percent_literals.rb +46 -0
  788. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/begin_block.rb +16 -0
  789. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/block_comments.rb +40 -0
  790. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/block_end_newline.rb +56 -0
  791. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/blocks.rb +80 -0
  792. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/braces_around_hash_parameters.rb +94 -0
  793. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/case_equality.rb +18 -0
  794. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/case_indentation.rb +62 -0
  795. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/character_literal.rb +42 -0
  796. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/class_and_module_camel_case.rb +29 -0
  797. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/class_and_module_children.rb +69 -0
  798. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/class_check.rb +42 -0
  799. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/class_methods.rb +54 -0
  800. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/class_vars.rb +23 -0
  801. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/collection_methods.rb +70 -0
  802. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/colon_method_call.rb +33 -0
  803. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/comment_annotation.rb +37 -0
  804. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/comment_indentation.rb +66 -0
  805. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/constant_name.rb +29 -0
  806. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/def_with_parentheses.rb +33 -0
  807. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/deprecated_hash_methods.rb +39 -0
  808. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/documentation.rb +76 -0
  809. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/dot_position.rb +77 -0
  810. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/double_negation.rb +40 -0
  811. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/each_with_object.rb +58 -0
  812. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/empty_line_between_defs.rb +46 -0
  813. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/empty_lines.rb +44 -0
  814. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/empty_lines_around_access_modifier.rb +74 -0
  815. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/empty_lines_around_body.rb +75 -0
  816. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/empty_literal.rb +60 -0
  817. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/encoding.rb +55 -0
  818. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/end_block.rb +16 -0
  819. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/end_of_line.rb +25 -0
  820. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/even_odd.rb +60 -0
  821. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/file_name.rb +31 -0
  822. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/flip_flop.rb +20 -0
  823. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/for.rb +47 -0
  824. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/format_string.rb +76 -0
  825. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/global_vars.rb +74 -0
  826. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/guard_clause.rb +79 -0
  827. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/hash_syntax.rb +89 -0
  828. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/if_unless_modifier.rb +29 -0
  829. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/if_with_semicolon.rb +20 -0
  830. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/indent_array.rb +64 -0
  831. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/indent_hash.rb +160 -0
  832. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/indentation_consistency.rb +44 -0
  833. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/indentation_width.rb +217 -0
  834. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/infinite_loop.rb +57 -0
  835. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/inline_comment.rb +19 -0
  836. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/lambda.rb +44 -0
  837. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/lambda_call.rb +63 -0
  838. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/leading_comment_space.rb +33 -0
  839. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/line_end_concatenation.rb +89 -0
  840. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/method_call_parentheses.rb +35 -0
  841. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/method_called_on_do_end_block.rb +42 -0
  842. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/method_def_parentheses.rb +72 -0
  843. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/method_name.rb +28 -0
  844. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/module_function.rb +31 -0
  845. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/multiline_block_chain.rb +43 -0
  846. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/multiline_block_layout.rb +73 -0
  847. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/multiline_if_then.rb +60 -0
  848. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/multiline_ternary_operator.rb +22 -0
  849. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/negated_if.rb +48 -0
  850. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/negated_while.rb +45 -0
  851. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/nested_ternary_operator.rb +26 -0
  852. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/next.rb +97 -0
  853. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/nil_comparison.rb +41 -0
  854. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/non_nil_check.rb +116 -0
  855. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/not.rb +34 -0
  856. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/numeric_literals.rb +85 -0
  857. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/one_line_conditional.rb +21 -0
  858. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/op_method.rb +25 -0
  859. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/parentheses_around_condition.rb +72 -0
  860. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/percent_literal_delimiters.rb +151 -0
  861. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/percent_q_literals.rb +53 -0
  862. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/perl_backrefs.rb +26 -0
  863. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/predicate_name.rb +62 -0
  864. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/proc.rb +32 -0
  865. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/raise_args.rb +68 -0
  866. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/redundant_begin.rb +51 -0
  867. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/redundant_exception.rb +32 -0
  868. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/redundant_return.rb +66 -0
  869. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/redundant_self.rb +144 -0
  870. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/regexp_literal.rb +81 -0
  871. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/rescue_modifier.rb +43 -0
  872. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/self_assignment.rb +68 -0
  873. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/semicolon.rb +63 -0
  874. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/signal_exception.rb +95 -0
  875. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/single_line_block_params.rb +61 -0
  876. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/single_line_methods.rb +69 -0
  877. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/single_space_before_first_arg.rb +41 -0
  878. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_after_colon.rb +40 -0
  879. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_after_comma.rb +16 -0
  880. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_after_control_keyword.rb +37 -0
  881. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_after_method_name.rb +40 -0
  882. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_after_not.rb +40 -0
  883. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_after_semicolon.rb +16 -0
  884. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_around_equals_in_parameter_default.rb +66 -0
  885. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_around_operators.rb +83 -0
  886. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_before_block_braces.rb +64 -0
  887. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_before_comma.rb +16 -0
  888. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_before_comment.rb +29 -0
  889. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_before_modifier_keyword.rb +39 -0
  890. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_before_semicolon.rb +16 -0
  891. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_inside_block_braces.rb +156 -0
  892. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_inside_brackets.rb +20 -0
  893. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_inside_hash_literal_braces.rb +109 -0
  894. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_inside_parens.rb +16 -0
  895. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/space_inside_range_literal.rb +58 -0
  896. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/special_global_vars.rb +84 -0
  897. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/string_literals.rb +43 -0
  898. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/symbol_array.rb +23 -0
  899. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/symbol_proc.rb +71 -0
  900. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/tab.rb +35 -0
  901. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/trailing_blank_lines.rb +58 -0
  902. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/trailing_comma.rb +153 -0
  903. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/trailing_whitespace.rb +28 -0
  904. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/trivial_accessors.rb +144 -0
  905. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/unless_else.rb +23 -0
  906. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/unneeded_capital_w.rb +37 -0
  907. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/unneeded_percent_q.rb +58 -0
  908. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/unneeded_percent_x.rb +25 -0
  909. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/variable_interpolation.rb +45 -0
  910. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/variable_name.rb +34 -0
  911. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/when_then.rb +24 -0
  912. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/while_until_do.rb +42 -0
  913. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/while_until_modifier.rb +34 -0
  914. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/style/word_array.rb +87 -0
  915. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/team.rb +123 -0
  916. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/util.rb +188 -0
  917. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/variable_force/assignment.rb +95 -0
  918. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/variable_force/locatable.rb +183 -0
  919. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/variable_force/reference.rb +43 -0
  920. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/variable_force/scope.rb +90 -0
  921. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/variable_force/variable.rb +102 -0
  922. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/variable_force/variable_table.rb +128 -0
  923. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/cop/variable_force.rb +419 -0
  924. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/base_formatter.rb +119 -0
  925. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/clang_style_formatter.rb +34 -0
  926. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/colorizable.rb +37 -0
  927. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/disabled_config_formatter.rb +66 -0
  928. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/disabled_lines_formatter.rb +56 -0
  929. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/emacs_style_formatter.rb +21 -0
  930. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/file_list_formatter.rb +19 -0
  931. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/formatter_set.rb +76 -0
  932. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/fuubar_style_formatter.rb +74 -0
  933. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/html_formatter.rb +90 -0
  934. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/json_formatter.rb +74 -0
  935. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/offense_count_formatter.rb +55 -0
  936. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/progress_formatter.rb +55 -0
  937. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/formatter/simple_text_formatter.rb +117 -0
  938. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/options.rb +203 -0
  939. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/path_util.rb +38 -0
  940. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/processed_source.rb +91 -0
  941. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/rake_task.rb +88 -0
  942. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/runner.rb +156 -0
  943. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/string_util.rb +153 -0
  944. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/target_finder.rb +98 -0
  945. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/token.rb +22 -0
  946. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop/version.rb +21 -0
  947. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/lib/rubocop.rb +284 -0
  948. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.19.0.md +94 -0
  949. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.19.1.md +16 -0
  950. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.20.0.md +69 -0
  951. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.20.1.md +24 -0
  952. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.21.0.md +56 -0
  953. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.22.0.md +77 -0
  954. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.23.0.md +79 -0
  955. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.24.0.md +77 -0
  956. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.24.1.md +15 -0
  957. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.25.0.md +91 -0
  958. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/relnotes/v0.26.0.md +89 -0
  959. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/rubocop.gemspec +39 -0
  960. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/isolated_environment_spec.rb +24 -0
  961. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/project_spec.rb +118 -0
  962. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cli_spec.rb +2246 -0
  963. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/comment_config_spec.rb +105 -0
  964. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/config_loader_spec.rb +356 -0
  965. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/config_spec.rb +235 -0
  966. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/config_store_spec.rb +53 -0
  967. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/commissioner_spec.rb +85 -0
  968. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/cop_spec.rb +135 -0
  969. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/corrector_spec.rb +59 -0
  970. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/force_spec.rb +29 -0
  971. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +113 -0
  972. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +35 -0
  973. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +107 -0
  974. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/block_alignment_spec.rb +534 -0
  975. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/condition_position_spec.rb +51 -0
  976. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/debugger_spec.rb +60 -0
  977. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/def_end_alignment_spec.rb +108 -0
  978. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/deprecated_class_methods_spec.rb +38 -0
  979. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/else_layout_spec.rb +65 -0
  980. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/empty_ensure_spec.rb +27 -0
  981. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/empty_interpolation_spec.rb +18 -0
  982. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/end_alignment_spec.rb +91 -0
  983. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/end_in_method_spec.rb +29 -0
  984. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/ensure_return_spec.rb +39 -0
  985. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/eval_spec.rb +33 -0
  986. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/handle_exceptions_spec.rb +30 -0
  987. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +33 -0
  988. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/literal_in_condition_spec.rb +154 -0
  989. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/literal_in_interpolation_spec.rb +31 -0
  990. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/loop_spec.rb +27 -0
  991. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +57 -0
  992. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/require_parentheses_spec.rb +82 -0
  993. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/rescue_exception_spec.rb +159 -0
  994. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +237 -0
  995. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/space_before_first_arg_spec.rb +65 -0
  996. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb +51 -0
  997. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/syntax_spec.rb +34 -0
  998. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/underscore_prefixed_variable_name_spec.rb +179 -0
  999. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/unreachable_code_spec.rb +63 -0
  1000. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/unused_block_argument_spec.rb +231 -0
  1001. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/unused_method_argument_spec.rb +278 -0
  1002. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/useless_access_modifier_spec.rb +192 -0
  1003. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/useless_assignment_spec.rb +1785 -0
  1004. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/useless_comparison_spec.rb +30 -0
  1005. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +48 -0
  1006. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/useless_setter_call_spec.rb +199 -0
  1007. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/lint/void_spec.rb +65 -0
  1008. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/metrics/block_nesting_spec.rb +156 -0
  1009. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/metrics/class_length_spec.rb +131 -0
  1010. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/metrics/cyclomatic_complexity_spec.rb +204 -0
  1011. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/metrics/if_unless_modifier_spec.rb +146 -0
  1012. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/metrics/line_length_spec.rb +108 -0
  1013. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/metrics/method_length_spec.rb +147 -0
  1014. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/metrics/parameter_lists_spec.rb +44 -0
  1015. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/metrics/perceived_complexity_spec.rb +222 -0
  1016. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/metrics/while_until_modifier_spec.rb +93 -0
  1017. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/offense_spec.rb +133 -0
  1018. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/rails/action_filter_spec.rb +69 -0
  1019. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/rails/default_scope_spec.rb +37 -0
  1020. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/rails/delegate_spec.rb +169 -0
  1021. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +13 -0
  1022. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/rails/output_spec.rb +37 -0
  1023. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/rails/read_write_attribute_spec.rb +19 -0
  1024. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/rails/scope_args_spec.rb +25 -0
  1025. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/rails/validation_spec.rb +28 -0
  1026. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/severity_spec.rb +113 -0
  1027. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/access_modifier_indentation_spec.rb +399 -0
  1028. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/accessor_method_name_spec.rb +81 -0
  1029. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/alias_spec.rb +59 -0
  1030. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/align_array_spec.rb +123 -0
  1031. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/align_hash_spec.rb +398 -0
  1032. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/align_parameters_spec.rb +420 -0
  1033. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/and_or_spec.rb +250 -0
  1034. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/array_join_spec.rb +29 -0
  1035. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/ascii_comments_spec.rb +22 -0
  1036. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/ascii_identifiers_spec.rb +36 -0
  1037. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/attr_spec.rb +29 -0
  1038. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/bare_percent_literals_spec.rb +132 -0
  1039. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/begin_block_spec.rb +13 -0
  1040. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/block_comments_spec.rb +45 -0
  1041. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/block_end_newline_spec.rb +61 -0
  1042. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/blocks_spec.rb +105 -0
  1043. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/braces_around_hash_parameters_spec.rb +302 -0
  1044. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/case_equality_spec.rb +13 -0
  1045. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/case_indentation_spec.rb +292 -0
  1046. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/character_literal_spec.rb +37 -0
  1047. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +40 -0
  1048. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/class_and_module_children_spec.rb +131 -0
  1049. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/class_check_spec.rb +41 -0
  1050. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/class_methods_spec.rb +68 -0
  1051. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/class_vars_spec.rb +19 -0
  1052. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/collection_methods_spec.rb +48 -0
  1053. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/colon_method_call_spec.rb +60 -0
  1054. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/comment_annotation_spec.rb +86 -0
  1055. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/comment_indentation_spec.rb +174 -0
  1056. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/constant_name_spec.rb +65 -0
  1057. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/def_with_parentheses_spec.rb +43 -0
  1058. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/deprecated_hash_methods_spec.rb +45 -0
  1059. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/documentation_spec.rb +147 -0
  1060. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/dot_position_spec.rb +130 -0
  1061. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/double_negation_spec.rb +22 -0
  1062. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/each_with_object_spec.rb +73 -0
  1063. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +135 -0
  1064. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/empty_lines_around_access_modifier_spec.rb +100 -0
  1065. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/empty_lines_around_body_spec.rb +131 -0
  1066. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/empty_lines_spec.rb +51 -0
  1067. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/empty_literal_spec.rb +100 -0
  1068. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/encoding_spec.rb +139 -0
  1069. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/end_block_spec.rb +13 -0
  1070. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/end_of_line_spec.rb +65 -0
  1071. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/even_odd_spec.rb +75 -0
  1072. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/file_name_spec.rb +84 -0
  1073. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/flip_flop_spec.rb +23 -0
  1074. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/for_spec.rb +105 -0
  1075. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/format_string_spec.rb +148 -0
  1076. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/global_vars_spec.rb +34 -0
  1077. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/guard_clause_spec.rb +155 -0
  1078. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/hash_syntax_spec.rb +137 -0
  1079. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/if_with_semicolon_spec.rb +24 -0
  1080. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/indent_array_spec.rb +171 -0
  1081. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/indent_hash_spec.rb +366 -0
  1082. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/indentation_consistency_spec.rb +510 -0
  1083. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/indentation_width_spec.rb +843 -0
  1084. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/infinite_loop_spec.rb +48 -0
  1085. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/inline_comment_spec.rb +13 -0
  1086. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/lambda_call_spec.rb +65 -0
  1087. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/lambda_spec.rb +41 -0
  1088. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/leading_comment_space_spec.rb +64 -0
  1089. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/line_end_concatenation_spec.rb +136 -0
  1090. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/method_call_parentheses_spec.rb +59 -0
  1091. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +60 -0
  1092. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/method_def_parentheses_spec.rb +108 -0
  1093. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/method_name_spec.rb +125 -0
  1094. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/module_function_spec.rb +24 -0
  1095. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/multiline_block_chain_spec.rb +78 -0
  1096. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/multiline_block_layout_spec.rb +138 -0
  1097. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/multiline_if_then_spec.rb +116 -0
  1098. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/multiline_ternary_operator_spec.rb +18 -0
  1099. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/negated_if_spec.rb +102 -0
  1100. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/negated_while_spec.rb +62 -0
  1101. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/nested_ternary_operator_spec.rb +21 -0
  1102. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/next_spec.rb +285 -0
  1103. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/nil_comparison_spec.rb +29 -0
  1104. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/non_nil_check_spec.rb +101 -0
  1105. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/not_spec.rb +28 -0
  1106. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/numeric_literals_spec.rb +80 -0
  1107. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/one_line_conditional_spec.rb +13 -0
  1108. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/op_method_spec.rb +82 -0
  1109. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +143 -0
  1110. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/percent_literal_delimiters_spec.rb +316 -0
  1111. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/percent_q_literals_spec.rb +122 -0
  1112. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/perl_backrefs_spec.rb +17 -0
  1113. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/predicate_name_spec.rb +57 -0
  1114. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/proc_spec.rb +27 -0
  1115. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/raise_args_spec.rb +87 -0
  1116. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/redundant_begin_spec.rb +121 -0
  1117. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/redundant_exception_spec.rb +27 -0
  1118. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/redundant_return_spec.rb +171 -0
  1119. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/redundant_self_spec.rb +142 -0
  1120. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/regexp_literal_spec.rb +188 -0
  1121. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/rescue_modifier_spec.rb +116 -0
  1122. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/self_assignment_spec.rb +43 -0
  1123. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/semicolon_spec.rb +114 -0
  1124. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/signal_exception_spec.rb +290 -0
  1125. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/single_line_block_params_spec.rb +70 -0
  1126. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/single_line_methods_spec.rb +90 -0
  1127. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/single_space_before_first_arg_spec.rb +63 -0
  1128. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_after_colon_spec.rb +55 -0
  1129. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_after_comma_spec.rb +30 -0
  1130. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +84 -0
  1131. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_after_method_name_spec.rb +70 -0
  1132. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_after_not_spec.rb +22 -0
  1133. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_after_semicolon_spec.rb +23 -0
  1134. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_around_equals_in_parameter_default_spec.rb +86 -0
  1135. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_around_operators_spec.rb +327 -0
  1136. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_before_block_braces_spec.rb +72 -0
  1137. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_before_comma_spec.rb +42 -0
  1138. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_before_comment_spec.rb +34 -0
  1139. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +70 -0
  1140. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_before_semicolon_spec.rb +28 -0
  1141. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_inside_block_braces_spec.rb +307 -0
  1142. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_inside_brackets_spec.rb +83 -0
  1143. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +147 -0
  1144. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_inside_parens_spec.rb +46 -0
  1145. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/space_inside_range_literal_spec.rb +52 -0
  1146. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/special_global_vars_spec.rb +57 -0
  1147. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/string_literals_spec.rb +218 -0
  1148. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/symbol_array_spec.rb +37 -0
  1149. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/symbol_proc_spec.rb +76 -0
  1150. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/tab_spec.rb +47 -0
  1151. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +83 -0
  1152. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/trailing_comma_spec.rb +390 -0
  1153. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/trailing_whitespace_spec.rb +31 -0
  1154. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/trivial_accessors_spec.rb +542 -0
  1155. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/unless_else_spec.rb +23 -0
  1156. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/unneeded_capital_w_spec.rb +96 -0
  1157. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/unneeded_percent_q_spec.rb +127 -0
  1158. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/unneeded_percent_x_spec.rb +34 -0
  1159. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/variable_interpolation_spec.rb +76 -0
  1160. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/variable_name_spec.rb +107 -0
  1161. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/when_then_spec.rb +42 -0
  1162. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/while_until_do_spec.rb +55 -0
  1163. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/word_array_spec.rb +103 -0
  1164. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/team_spec.rb +190 -0
  1165. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/util_spec.rb +51 -0
  1166. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/variable_force/assignment_spec.rb +200 -0
  1167. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/variable_force/locatable_spec.rb +699 -0
  1168. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/variable_force/scope_spec.rb +319 -0
  1169. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/variable_force/variable_spec.rb +59 -0
  1170. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/variable_force/variable_table_spec.rb +269 -0
  1171. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/variable_force_spec.rb +26 -0
  1172. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/base_formatter_spec.rb +191 -0
  1173. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/clang_style_formatter_spec.rb +114 -0
  1174. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/colorizable_spec.rb +107 -0
  1175. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/disabled_config_formatter_spec.rb +50 -0
  1176. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/disabled_lines_formatter_spec.rb +69 -0
  1177. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/emacs_style_formatter_spec.rb +63 -0
  1178. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/file_list_formatter_spec.rb +33 -0
  1179. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/formatter_set_spec.rb +132 -0
  1180. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/fuubar_style_formatter_spec.rb +129 -0
  1181. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/html_formatter_spec.rb +145 -0
  1182. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/json_formatter_spec.rb +152 -0
  1183. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/offense_count_formatter_spec.rb +77 -0
  1184. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/progress_formatter_spec.rb +182 -0
  1185. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/formatter/simple_text_formatter_spec.rb +135 -0
  1186. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/options_spec.rb +173 -0
  1187. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/path_util_spec.rb +77 -0
  1188. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/processed_source_spec.rb +184 -0
  1189. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/runner_spec.rb +64 -0
  1190. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/string_util_spec.rb +46 -0
  1191. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/target_finder_spec.rb +211 -0
  1192. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/token_spec.rb +25 -0
  1193. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/spec_helper.rb +154 -0
  1194. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/support/file_helper.rb +23 -0
  1195. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/support/isolated_environment.rb +34 -0
  1196. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/support/mri_syntax_checker.rb +73 -0
  1197. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/support/offenses_matcher.rb +30 -0
  1198. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/support/shared_context.rb +20 -0
  1199. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/support/shared_examples.rb +55 -0
  1200. data/vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/support/statement_modifier_helper.rb +41 -0
  1201. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/LICENSE +22 -0
  1202. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/README.md +440 -0
  1203. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/base.rb +212 -0
  1204. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components/bar.rb +60 -0
  1205. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components/elapsed_timer.rb +20 -0
  1206. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components/estimated_timer.rb +86 -0
  1207. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components/progressable.rb +105 -0
  1208. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components/rate.rb +69 -0
  1209. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components/throttle.rb +19 -0
  1210. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components/timer.rb +69 -0
  1211. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components.rb +7 -0
  1212. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  1213. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/format/base.rb +55 -0
  1214. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/format/molecule.rb +38 -0
  1215. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/format.rb +2 -0
  1216. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/formatter.rb +103 -0
  1217. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/length_calculator.rb +63 -0
  1218. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/running_average_calculator.rb +7 -0
  1219. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/time.rb +22 -0
  1220. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/version.rb +3 -0
  1221. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar.rb +12 -0
  1222. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/fixtures/benchmark.rb +11 -0
  1223. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/lib/ruby-progressbar/base_spec.rb +852 -0
  1224. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/lib/ruby-progressbar/components/bar_spec.rb +210 -0
  1225. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/lib/ruby-progressbar/components/elapsed_timer_spec.rb +91 -0
  1226. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/lib/ruby-progressbar/components/estimated_timer_spec.rb +241 -0
  1227. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/lib/ruby-progressbar/components/progressable_spec.rb +47 -0
  1228. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/lib/ruby-progressbar/components/throttle_spec.rb +100 -0
  1229. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/lib/ruby-progressbar/format/molecule_spec.rb +22 -0
  1230. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/lib/ruby-progressbar/running_average_calculator_spec.rb +11 -0
  1231. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/lib/ruby-progressbar/time_spec.rb +49 -0
  1232. data/vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/spec/support/time.rb +19 -0
  1233. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/CHANGES.md +309 -0
  1234. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/Gemfile +3 -0
  1235. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/LICENSE +20 -0
  1236. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/README.md +202 -0
  1237. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/Rakefile +29 -0
  1238. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/lib/slop/commands.rb +196 -0
  1239. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/lib/slop/option.rb +214 -0
  1240. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/lib/slop.rb +687 -0
  1241. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/slop.gemspec +17 -0
  1242. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/test/commands_test.rb +26 -0
  1243. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/test/helper.rb +12 -0
  1244. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/test/option_test.rb +145 -0
  1245. data/vendor/bundle/ruby/2.1.0/gems/slop-3.6.0/test/slop_test.rb +518 -0
  1246. data/vendor/bundle/ruby/2.1.0/specifications/ast-2.0.0.gemspec +56 -0
  1247. data/vendor/bundle/ruby/2.1.0/specifications/astrolabe-1.3.0.gemspec +62 -0
  1248. data/vendor/bundle/ruby/2.1.0/specifications/builder-3.2.2.gemspec +23 -0
  1249. data/vendor/bundle/ruby/2.1.0/specifications/mini_portile-0.6.0.gemspec +24 -0
  1250. data/vendor/bundle/ruby/2.1.0/specifications/nokogiri-1.6.3.1-x64-mingw32.gemspec +73 -0
  1251. data/vendor/bundle/ruby/2.1.0/specifications/parser-2.2.0.pre.4.gemspec +79 -0
  1252. data/vendor/bundle/ruby/2.1.0/specifications/powerpack-0.0.9.gemspec +41 -0
  1253. data/vendor/bundle/ruby/2.1.0/specifications/rainbow-2.0.0.gemspec +39 -0
  1254. data/vendor/bundle/ruby/2.1.0/specifications/rake-0.9.6.gemspec +37 -0
  1255. data/vendor/bundle/ruby/2.1.0/specifications/rubocop-0.26.0.gemspec +63 -0
  1256. data/vendor/bundle/ruby/2.1.0/specifications/ruby-progressbar-1.5.1.gemspec +47 -0
  1257. data/vendor/bundle/ruby/2.1.0/specifications/slop-3.6.0.gemspec +36 -0
  1258. metadata +1253 -2
@@ -0,0 +1,2163 @@
1
+ %%machine lex; # % fix highlighting
2
+
3
+ #
4
+ # === BEFORE YOU START ===
5
+ #
6
+ # Read the Ruby Hacking Guide chapter 11, available in English at
7
+ # http://whitequark.org/blog/2013/04/01/ruby-hacking-guide-ch-11-finite-state-lexer/
8
+ #
9
+ # Remember two things about Ragel scanners:
10
+ #
11
+ # 1) Longest match wins.
12
+ #
13
+ # 2) If two matches have the same length, the first
14
+ # in source code wins.
15
+ #
16
+ # General rules of making Ragel and Bison happy:
17
+ #
18
+ # * `p` (position) and `@te` contain the index of the character
19
+ # they're pointing to ("current"), plus one. `@ts` contains the index
20
+ # of the corresponding character. The code for extracting matched token is:
21
+ #
22
+ # @source[@ts...@te]
23
+ #
24
+ # * If your input is `foooooooobar` and the rule is:
25
+ #
26
+ # 'f' 'o'+
27
+ #
28
+ # the result will be:
29
+ #
30
+ # foooooooobar
31
+ # ^ ts=0 ^ p=te=9
32
+ #
33
+ # * A Ragel lexer action should not emit more than one token, unless
34
+ # you know what you are doing.
35
+ #
36
+ # * All Ragel commands (fnext, fgoto, ...) end with a semicolon.
37
+ #
38
+ # * If an action emits the token and transitions to another state, use
39
+ # these Ragel commands:
40
+ #
41
+ # emit($whatever)
42
+ # fnext $next_state; fbreak;
43
+ #
44
+ # If you perform `fgoto` in an action which does not emit a token nor
45
+ # rewinds the stream pointer, the parser's side-effectful,
46
+ # context-sensitive lookahead actions will break in a hard to detect
47
+ # and debug way.
48
+ #
49
+ # * If an action does not emit a token:
50
+ #
51
+ # fgoto $next_state;
52
+ #
53
+ # * If an action features lookbehind, i.e. matches characters with the
54
+ # intent of passing them to another action:
55
+ #
56
+ # p = @ts - 1
57
+ # fgoto $next_state;
58
+ #
59
+ # or, if the lookbehind consists of a single character:
60
+ #
61
+ # fhold; fgoto $next_state;
62
+ #
63
+ # * Ragel merges actions. So, if you have `e_lparen = '(' %act` and
64
+ # `c_lparen = '('` and a lexer action `e_lparen | c_lparen`, the result
65
+ # _will_ invoke the action `act`.
66
+ #
67
+ # e_something stands for "something with **e**mbedded action".
68
+ #
69
+ # * EOF is explicit and is matched by `c_eof`. If you want to introspect
70
+ # the state of the lexer, add this rule to the state:
71
+ #
72
+ # c_eof => do_eof;
73
+ #
74
+ # * If you proceed past EOF, the lexer will complain:
75
+ #
76
+ # NoMethodError: undefined method `ord' for nil:NilClass
77
+ #
78
+
79
+ class Parser::Lexer
80
+
81
+ %% write data nofinal;
82
+ # %
83
+
84
+ ESCAPES = {
85
+ 'a' => "\a", 'b' => "\b", 'e' => "\e", 'f' => "\f",
86
+ 'n' => "\n", 'r' => "\r", 's' => "\s", 't' => "\t",
87
+ 'v' => "\v", '\\' => "\\"
88
+ }
89
+
90
+ attr_reader :source_buffer
91
+ attr_reader :encoding
92
+
93
+ attr_accessor :diagnostics
94
+ attr_accessor :static_env
95
+ attr_accessor :force_utf32
96
+
97
+ attr_accessor :cond, :cmdarg
98
+
99
+ attr_accessor :tokens, :comments
100
+
101
+ def initialize(version)
102
+ @version = version
103
+ @static_env = nil
104
+
105
+ @tokens = nil
106
+ @comments = nil
107
+
108
+ reset
109
+ end
110
+
111
+ def reset(reset_state=true)
112
+ # Ragel state:
113
+ if reset_state
114
+ # Unit tests set state prior to resetting lexer.
115
+ @cs = self.class.lex_en_line_begin
116
+
117
+ @cond = StackState.new('cond')
118
+ @cmdarg = StackState.new('cmdarg')
119
+ @cmdarg_stack = []
120
+ end
121
+
122
+ @force_utf32 = false # Set to true by some tests
123
+
124
+ @source = nil # source string
125
+ @source_pts = nil # @source as a codepoint array
126
+ @encoding = nil # target encoding for output strings
127
+
128
+ @p = 0 # stream position (saved manually in #advance)
129
+ @ts = nil # token start
130
+ @te = nil # token end
131
+ @act = 0 # next action
132
+
133
+ @stack = [] # state stack
134
+ @top = 0 # state stack top pointer
135
+
136
+ # Lexer state:
137
+ @token_queue = []
138
+ @literal_stack = []
139
+
140
+ @eq_begin_s = nil # location of last encountered =begin
141
+ @sharp_s = nil # location of last encountered #
142
+
143
+ @newline_s = nil # location of last encountered newline
144
+
145
+ @num_base = nil # last numeric base
146
+ @num_digits_s = nil # starting position of numeric digits
147
+ @num_suffix_s = nil # starting position of numeric suffix
148
+ @num_xfrm = nil # numeric suffix-induced transformation
149
+
150
+ @escape_s = nil # starting position of current sequence
151
+ @escape = nil # last escaped sequence, as string
152
+
153
+ # See below the section on parsing heredocs.
154
+ @heredoc_e = nil
155
+ @herebody_s = nil
156
+
157
+ # Ruby 1.9 ->() lambdas emit a distinct token if do/{ is
158
+ # encountered after a matching closing parenthesis.
159
+ @paren_nest = 0
160
+ @lambda_stack = []
161
+
162
+ # If the lexer is in `command state' (aka expr_value)
163
+ # at the entry to #advance, it will transition to expr_cmdarg
164
+ # instead of expr_arg at certain points.
165
+ @command_state = false
166
+ end
167
+
168
+ def source_buffer=(source_buffer)
169
+ @source_buffer = source_buffer
170
+
171
+ if @source_buffer
172
+ @source = @source_buffer.source
173
+
174
+ if defined?(Encoding)
175
+ @encoding = @source.encoding
176
+
177
+ # This is a workaround for 1.9.2, which (without force_encoding)
178
+ # would convert the result to UTF-8 (source encoding of lexer.rl).
179
+ @source += "\0".force_encoding(@encoding)
180
+ else
181
+ @source += "\0"
182
+ end
183
+
184
+ if defined?(Encoding) && @source.encoding == Encoding::UTF_8
185
+ @source_pts = @source.unpack('U*')
186
+ else
187
+ @source_pts = @source.unpack('C*')
188
+ end
189
+
190
+ if (@source_pts.size > 1_000_000 && @source.respond_to?(:encode)) ||
191
+ @force_utf32
192
+ # A heuristic: if the buffer is larger than 1M, then
193
+ # store it in UTF-32 and convert the tokens as they're
194
+ # going out. If it's smaller, the conversion overhead
195
+ # dominates runtime and this stops being beneficial.
196
+ #
197
+ # This is not really a good heuristic, as the result
198
+ # heavily depends on token/character ratio. If it's low,
199
+ # say the gem consists mostly of long identifiers and
200
+ # symbols, then storing the source in UTF-8 would be faster.
201
+ #
202
+ # Patches accepted.
203
+ @source = @source.encode(Encoding::UTF_32LE)
204
+ end
205
+
206
+ if @source_pts[0] == 0xfeff
207
+ # Skip byte order mark.
208
+ @p = 1
209
+ end
210
+ else
211
+ @source = nil
212
+ @source_pts = nil
213
+ end
214
+ end
215
+
216
+ LEX_STATES = {
217
+ :line_begin => lex_en_line_begin,
218
+ :expr_dot => lex_en_expr_dot,
219
+ :expr_fname => lex_en_expr_fname,
220
+ :expr_value => lex_en_expr_value,
221
+ :expr_beg => lex_en_expr_beg,
222
+ :expr_mid => lex_en_expr_mid,
223
+ :expr_arg => lex_en_expr_arg,
224
+ :expr_cmdarg => lex_en_expr_cmdarg,
225
+ :expr_end => lex_en_expr_end,
226
+ :expr_endarg => lex_en_expr_endarg,
227
+ :expr_endfn => lex_en_expr_endfn,
228
+
229
+ :interp_string => lex_en_interp_string,
230
+ :interp_words => lex_en_interp_words,
231
+ :plain_string => lex_en_plain_string,
232
+ :plain_words => lex_en_plain_string,
233
+ }
234
+
235
+ def state
236
+ LEX_STATES.invert.fetch(@cs, @cs)
237
+ end
238
+
239
+ def state=(state)
240
+ @cs = LEX_STATES.fetch(state)
241
+ end
242
+
243
+ def push_cmdarg
244
+ @cmdarg_stack.push(@cmdarg)
245
+ @cmdarg = StackState.new("cmdarg.#{@cmdarg_stack.count}")
246
+ end
247
+
248
+ def pop_cmdarg
249
+ @cmdarg = @cmdarg_stack.pop
250
+ end
251
+
252
+ # Return next token: [type, value].
253
+ def advance
254
+ if @token_queue.any?
255
+ return @token_queue.shift
256
+ end
257
+
258
+ # Ugly, but dependent on Ragel output. Consider refactoring it somehow.
259
+ _lex_trans_keys = self.class.send :_lex_trans_keys
260
+ _lex_key_spans = self.class.send :_lex_key_spans
261
+ _lex_index_offsets = self.class.send :_lex_index_offsets
262
+ _lex_indicies = self.class.send :_lex_indicies
263
+ _lex_trans_targs = self.class.send :_lex_trans_targs
264
+ _lex_trans_actions = self.class.send :_lex_trans_actions
265
+ _lex_to_state_actions = self.class.send :_lex_to_state_actions
266
+ _lex_from_state_actions = self.class.send :_lex_from_state_actions
267
+ _lex_eof_trans = self.class.send :_lex_eof_trans
268
+
269
+ p, pe, eof = @p, @source.length + 1, @source.length + 1
270
+
271
+ @command_state = (@cs == self.class.lex_en_expr_value ||
272
+ @cs == self.class.lex_en_line_begin)
273
+
274
+ %% write exec;
275
+ # %
276
+
277
+ @p = p
278
+
279
+ if @token_queue.any?
280
+ @token_queue.shift
281
+ elsif @cs == self.class.lex_error
282
+ [ false, [ '$error', range(p - 1, p) ] ]
283
+ else
284
+ [ false, [ '$eof', range(p, p) ] ]
285
+ end
286
+ end
287
+
288
+ protected
289
+
290
+ def eof_codepoint?(point)
291
+ [0x04, 0x1a, 0x00].include? point
292
+ end
293
+
294
+ def version?(*versions)
295
+ versions.include?(@version)
296
+ end
297
+
298
+ def stack_pop
299
+ @top -= 1
300
+ @stack[@top]
301
+ end
302
+
303
+ if "".respond_to?(:encode)
304
+ def encode_escape(ord)
305
+ ord.chr.force_encoding(@encoding)
306
+ end
307
+
308
+ def tok(s = @ts, e = @te)
309
+ @source[s...e].encode(@encoding)
310
+ end
311
+ else
312
+ def encode_escape(ord)
313
+ ord.chr
314
+ end
315
+
316
+ def tok(s = @ts, e = @te)
317
+ @source[s...e]
318
+ end
319
+ end
320
+
321
+ def range(s = @ts, e = @te)
322
+ Parser::Source::Range.new(@source_buffer, s, e)
323
+ end
324
+
325
+ def emit(type, value = tok, s = @ts, e = @te)
326
+ token = [ type, [ value, range(s, e) ] ]
327
+
328
+ @token_queue.push(token)
329
+
330
+ @tokens.push(token) if @tokens
331
+
332
+ token
333
+ end
334
+
335
+ def emit_table(table, s = @ts, e = @te)
336
+ value = tok(s, e)
337
+
338
+ emit(table[value], value, s, e)
339
+ end
340
+
341
+ def emit_do(do_block=false)
342
+ if @cond.active?
343
+ emit(:kDO_COND)
344
+ elsif @cmdarg.active? || do_block
345
+ emit(:kDO_BLOCK)
346
+ else
347
+ emit(:kDO)
348
+ end
349
+ end
350
+
351
+ def arg_or_cmdarg
352
+ if @command_state
353
+ self.class.lex_en_expr_cmdarg
354
+ else
355
+ self.class.lex_en_expr_arg
356
+ end
357
+ end
358
+
359
+ def emit_comment(s = @ts, e = @te)
360
+ if @comments
361
+ @comments.push(Parser::Source::Comment.new(range(s, e)))
362
+ end
363
+
364
+ if @tokens
365
+ @tokens.push([ :tCOMMENT, [ tok(s, e), range(s, e) ] ])
366
+ end
367
+
368
+ nil
369
+ end
370
+
371
+ def diagnostic(type, reason, arguments=nil, location=range, highlights=[])
372
+ @diagnostics.process(
373
+ Parser::Diagnostic.new(type, reason, arguments, location, highlights))
374
+ end
375
+
376
+ #
377
+ # === LITERAL STACK ===
378
+ #
379
+
380
+ def push_literal(*args)
381
+ new_literal = Literal.new(self, *args)
382
+ @literal_stack.push(new_literal)
383
+
384
+ if new_literal.words?
385
+ if new_literal.interpolate?
386
+ self.class.lex_en_interp_words
387
+ else
388
+ self.class.lex_en_plain_words
389
+ end
390
+ else
391
+ if new_literal.interpolate?
392
+ self.class.lex_en_interp_string
393
+ else
394
+ self.class.lex_en_plain_string
395
+ end
396
+ end
397
+ end
398
+
399
+ def literal
400
+ @literal_stack.last
401
+ end
402
+
403
+ def pop_literal
404
+ old_literal = @literal_stack.pop
405
+
406
+ if old_literal.type == :tREGEXP_BEG
407
+ # Fetch modifiers.
408
+ self.class.lex_en_regexp_modifiers
409
+ else
410
+ self.class.lex_en_expr_end
411
+ end
412
+ end
413
+
414
+ # Mapping of strings to parser tokens.
415
+
416
+ PUNCTUATION = {
417
+ '=' => :tEQL, '&' => :tAMPER2, '|' => :tPIPE,
418
+ '!' => :tBANG, '^' => :tCARET, '+' => :tPLUS,
419
+ '-' => :tMINUS, '*' => :tSTAR2, '/' => :tDIVIDE,
420
+ '%' => :tPERCENT, '~' => :tTILDE, ',' => :tCOMMA,
421
+ ';' => :tSEMI, '.' => :tDOT, '..' => :tDOT2,
422
+ '...' => :tDOT3, '[' => :tLBRACK2, ']' => :tRBRACK,
423
+ '(' => :tLPAREN2, ')' => :tRPAREN, '?' => :tEH,
424
+ ':' => :tCOLON, '&&' => :tANDOP, '||' => :tOROP,
425
+ '-@' => :tUMINUS, '+@' => :tUPLUS, '~@' => :tTILDE,
426
+ '**' => :tPOW, '->' => :tLAMBDA, '=~' => :tMATCH,
427
+ '!~' => :tNMATCH, '==' => :tEQ, '!=' => :tNEQ,
428
+ '>' => :tGT, '>>' => :tRSHFT, '>=' => :tGEQ,
429
+ '<' => :tLT, '<<' => :tLSHFT, '<=' => :tLEQ,
430
+ '=>' => :tASSOC, '::' => :tCOLON2, '===' => :tEQQ,
431
+ '<=>' => :tCMP, '[]' => :tAREF, '[]=' => :tASET,
432
+ '{' => :tLCURLY, '}' => :tRCURLY, '`' => :tBACK_REF2,
433
+ '!@' => :tBANG,
434
+ }
435
+
436
+ PUNCTUATION_BEGIN = {
437
+ '&' => :tAMPER, '*' => :tSTAR, '**' => :tDSTAR,
438
+ '+' => :tUPLUS, '-' => :tUMINUS, '::' => :tCOLON3,
439
+ '(' => :tLPAREN, '{' => :tLBRACE, '[' => :tLBRACK,
440
+ }
441
+
442
+ KEYWORDS = {
443
+ 'if' => :kIF_MOD, 'unless' => :kUNLESS_MOD,
444
+ 'while' => :kWHILE_MOD, 'until' => :kUNTIL_MOD,
445
+ 'rescue' => :kRESCUE_MOD, 'defined?' => :kDEFINED,
446
+ 'BEGIN' => :klBEGIN, 'END' => :klEND,
447
+ }
448
+
449
+ KEYWORDS_BEGIN = {
450
+ 'if' => :kIF, 'unless' => :kUNLESS,
451
+ 'while' => :kWHILE, 'until' => :kUNTIL,
452
+ 'rescue' => :kRESCUE, 'defined?' => :kDEFINED,
453
+ }
454
+
455
+ %w(class module def undef begin end then elsif else ensure case when
456
+ for break next redo retry in do return yield super self nil true
457
+ false and or not alias __FILE__ __LINE__ __ENCODING__).each do |keyword|
458
+ KEYWORDS_BEGIN[keyword] = KEYWORDS[keyword] = :"k#{keyword.upcase}"
459
+ end
460
+
461
+ %%{
462
+ # %
463
+
464
+ access @;
465
+ getkey (@source_pts[p] || 0);
466
+
467
+ # === CHARACTER CLASSES ===
468
+ #
469
+ # Pay close attention to the differences between c_any and any.
470
+ # c_any does not include EOF and so will cause incorrect behavior
471
+ # for machine subtraction (any-except rules) and default transitions
472
+ # for scanners.
473
+
474
+ action do_nl {
475
+ # Record position of a newline for precise location reporting on tNL
476
+ # tokens.
477
+ #
478
+ # This action is embedded directly into c_nl, as it is idempotent and
479
+ # there are no cases when we need to skip it.
480
+ @newline_s = p
481
+ }
482
+
483
+ c_nl = '\n' $ do_nl;
484
+ c_space = [ \t\r\f\v];
485
+ c_space_nl = c_space | c_nl;
486
+
487
+ c_eof = 0x04 | 0x1a | 0 | zlen; # ^D, ^Z, \0, EOF
488
+ c_eol = c_nl | c_eof;
489
+ c_any = any - c_eof;
490
+
491
+ c_nl_zlen = c_nl | zlen;
492
+ c_line = any - c_nl_zlen;
493
+
494
+ c_unicode = c_any - 0x00..0x7f;
495
+ c_upper = [A-Z];
496
+ c_lower = [a-z_] | c_unicode;
497
+ c_alpha = c_lower | c_upper;
498
+ c_alnum = c_alpha | [0-9];
499
+
500
+ action do_eof {
501
+ # Sit at EOF indefinitely. #advance would return $eof each time.
502
+ # This allows to feed the lexer more data if needed; this is only used
503
+ # in tests.
504
+ #
505
+ # Note that this action is not embedded into e_eof like e_heredoc_nl and e_bs
506
+ # below. This is due to the fact that scanner state at EOF is observed
507
+ # by tests, and encapsulating it in a rule would break the introspection.
508
+ fhold; fbreak;
509
+ }
510
+
511
+ #
512
+ # === TOKEN DEFINITIONS ===
513
+ #
514
+
515
+ # All operators are punctuation. There is more to punctuation
516
+ # than just operators. Operators can be overridden by user;
517
+ # punctuation can not.
518
+
519
+ # A list of operators which are valid in the function name context, but
520
+ # have different semantics in others.
521
+ operator_fname = '[]' | '[]=' | '`' | '-@' | '+@' | '~@' | '!@' ;
522
+
523
+ # A list of operators which can occur within an assignment shortcut (+ → +=).
524
+ operator_arithmetic = '&' | '|' | '&&' | '||' | '^' | '+' | '-' |
525
+ '*' | '/' | '**' | '~' | '<<' | '>>' | '%' ;
526
+
527
+ # A list of all user-definable operators not covered by groups above.
528
+ operator_rest = '=~' | '!~' | '==' | '!=' | '!' | '===' |
529
+ '<' | '<=' | '>' | '>=' | '<=>' | '=>' ;
530
+
531
+ # Note that `{` and `}` need to be referred to as e_lbrace and e_rbrace,
532
+ # as they are ambiguous with interpolation `#{}` and should be counted.
533
+ # These braces are not present in punctuation lists.
534
+
535
+ # A list of punctuation which has different meaning when used at the
536
+ # beginning of expression.
537
+ punctuation_begin = '-' | '+' | '::' | '(' | '[' |
538
+ '*' | '**' | '&' ;
539
+
540
+ # A list of all punctuation except punctuation_begin.
541
+ punctuation_end = ',' | '=' | '->' | '(' | '[' | ']' |
542
+ '::' | '?' | ':' | '.' | '..' | '...' ;
543
+
544
+ # A list of keywords which have different meaning at the beginning of expression.
545
+ keyword_modifier = 'if' | 'unless' | 'while' | 'until' | 'rescue' ;
546
+
547
+ # A list of keywords which accept an argument-like expression, i.e. have the
548
+ # same post-processing as method calls or commands. Example: `yield 1`,
549
+ # `yield (1)`, `yield(1)`, are interpreted as if `yield` was a function.
550
+ keyword_with_arg = 'yield' | 'super' | 'not' | 'defined?' ;
551
+
552
+ # A list of keywords which accept a literal function name as an argument.
553
+ keyword_with_fname = 'def' | 'undef' | 'alias' ;
554
+
555
+ # A list of keywords which accept an expression after them.
556
+ keyword_with_value = 'else' | 'case' | 'ensure' | 'module' | 'elsif' | 'then' |
557
+ 'for' | 'in' | 'do' | 'when' | 'begin' | 'class' |
558
+ 'and' | 'or' ;
559
+
560
+ # A list of keywords which accept a value, and treat the keywords from
561
+ # `keyword_modifier` list as modifiers.
562
+ keyword_with_mid = 'rescue' | 'return' | 'break' | 'next' ;
563
+
564
+ # A list of keywords which do not accept an expression after them.
565
+ keyword_with_end = 'end' | 'self' | 'true' | 'false' | 'retry' |
566
+ 'redo' | 'nil' | 'BEGIN' | 'END' | '__FILE__' |
567
+ '__LINE__' | '__ENCODING__';
568
+
569
+ # All keywords.
570
+ keyword = keyword_with_value | keyword_with_mid |
571
+ keyword_with_end | keyword_with_arg |
572
+ keyword_with_fname | keyword_modifier ;
573
+
574
+ constant = c_upper c_alnum*;
575
+ bareword = c_alpha c_alnum*;
576
+
577
+ call_or_var = c_lower c_alnum*;
578
+ class_var = '@@' bareword;
579
+ instance_var = '@' bareword;
580
+ global_var = '$'
581
+ ( bareword | digit+
582
+ | [`'+~*$&?!@/\\;,.=:<>"] # `
583
+ | '-' c_alnum
584
+ )
585
+ ;
586
+
587
+ # Ruby accepts (and fails on) variables with leading digit
588
+ # in literal context, but not in unquoted symbol body.
589
+ class_var_v = '@@' c_alnum+;
590
+ instance_var_v = '@' c_alnum+;
591
+
592
+ label = bareword [?!]? ':';
593
+
594
+ #
595
+ # === NUMERIC PARSING ===
596
+ #
597
+
598
+ int_hex = ( xdigit+ '_' )* xdigit* '_'? ;
599
+ int_dec = ( digit+ '_' )* digit* '_'? ;
600
+ int_bin = ( [01]+ '_' )* [01]* '_'? ;
601
+
602
+ flo_int = [1-9] [0-9]* ( '_' digit+ )* | '0';
603
+ flo_frac = '.' ( digit+ '_' )* digit+;
604
+ flo_pow = [eE] [+\-]? ( digit+ '_' )* digit+;
605
+
606
+ int_suffix =
607
+ '' % { @num_xfrm = lambda { |chars| emit(:tINTEGER, chars) } }
608
+ | 'r' % { @num_xfrm = lambda { |chars| emit(:tRATIONAL, Rational(chars)) } }
609
+ | 'i' % { @num_xfrm = lambda { |chars| emit(:tIMAGINARY, Complex(0, chars)) } }
610
+ | 'ri' % { @num_xfrm = lambda { |chars| emit(:tIMAGINARY, Complex(0, Rational(chars))) } };
611
+
612
+ flo_pow_suffix =
613
+ '' % { @num_xfrm = lambda { |chars| emit(:tFLOAT, Float(chars)) } }
614
+ | 'i' % { @num_xfrm = lambda { |chars| emit(:tIMAGINARY, Complex(0, Float(chars))) } };
615
+
616
+ flo_suffix =
617
+ flo_pow_suffix
618
+ | 'r' % { @num_xfrm = lambda { |chars| emit(:tRATIONAL, Rational(chars)) } }
619
+ | 'ri' % { @num_xfrm = lambda { |chars| emit(:tIMAGINARY, Complex(0, Rational(chars))) } };
620
+
621
+ #
622
+ # === ESCAPE SEQUENCE PARSING ===
623
+ #
624
+
625
+ # Escape parsing code is a Ragel pattern, not a scanner, and therefore
626
+ # it shouldn't directly raise errors or perform other actions with side effects.
627
+ # In reality this would probably just mess up error reporting in pathological
628
+ # cases, through.
629
+
630
+ # The amount of code required to parse \M\C stuff correctly is ridiculous.
631
+
632
+ escaped_nl = "\\" c_nl;
633
+
634
+ action unicode_points {
635
+ @escape = ""
636
+
637
+ codepoints = tok(@escape_s + 2, p - 1)
638
+ codepoint_s = @escape_s + 2
639
+
640
+ codepoints.split(/[ \t]/).each do |codepoint_str|
641
+ codepoint = codepoint_str.to_i(16)
642
+
643
+ if codepoint >= 0x110000
644
+ @escape = lambda do
645
+ diagnostic :error, :unicode_point_too_large, nil,
646
+ range(codepoint_s, codepoint_s + codepoint_str.length)
647
+ end
648
+
649
+ break
650
+ end
651
+
652
+ @escape += codepoint.chr(Encoding::UTF_8)
653
+ codepoint_s += codepoint_str.length + 1
654
+ end
655
+ }
656
+
657
+ action unescape_char {
658
+ char = @source[p - 1].chr
659
+ @escape = ESCAPES.fetch(char, char)
660
+ }
661
+
662
+ action invalid_complex_escape {
663
+ @escape = lambda do
664
+ diagnostic :fatal, :invalid_escape
665
+ end
666
+ }
667
+
668
+ action slash_c_char {
669
+ @escape = encode_escape(@escape[0].ord & 0x9f)
670
+ }
671
+
672
+ action slash_m_char {
673
+ @escape = encode_escape(@escape[0].ord | 0x80)
674
+ }
675
+
676
+ maybe_escaped_char = (
677
+ '\\' c_any %unescape_char
678
+ | ( c_any - [\\] ) % { @escape = @source[p - 1].chr }
679
+ );
680
+
681
+ maybe_escaped_ctrl_char = ( # why?!
682
+ '\\' c_any %unescape_char %slash_c_char
683
+ | '?' % { @escape = "\x7f" }
684
+ | ( c_any - [\\?] ) % { @escape = @source[p - 1].chr } %slash_c_char
685
+ );
686
+
687
+ escape = (
688
+ # \377
689
+ [0-7]{1,3}
690
+ % { @escape = encode_escape(tok(@escape_s, p).to_i(8) % 0x100) }
691
+
692
+ # \xff
693
+ | ( 'x' xdigit{1,2}
694
+ % { @escape = encode_escape(tok(@escape_s + 1, p).to_i(16)) }
695
+ # \u263a
696
+ | 'u' xdigit{4}
697
+ % { @escape = tok(@escape_s + 1, p).to_i(16).chr(Encoding::UTF_8) }
698
+ )
699
+
700
+ # %q[\x]
701
+ | 'x' ( c_any - xdigit )
702
+ % {
703
+ @escape = lambda do
704
+ diagnostic :fatal, :invalid_hex_escape, nil,
705
+ range(@escape_s - 1, p + 2)
706
+ end
707
+ }
708
+
709
+ # %q[\u123] %q[\u{12]
710
+ | 'u' ( c_any{0,4} -
711
+ xdigit{4} - # \u1234 is valid
712
+ ( '{' xdigit{1,3} # \u{1 \u{12 \u{123 are valid
713
+ | '{' xdigit [ \t}] any # \u{1. \u{1} are valid
714
+ | '{' xdigit{2} [ \t}] # \u{12. \u{12} are valid
715
+ )
716
+ )
717
+ % {
718
+ @escape = lambda do
719
+ diagnostic :fatal, :invalid_unicode_escape, nil,
720
+ range(@escape_s - 1, p)
721
+ end
722
+ }
723
+
724
+ # \u{123 456}
725
+ | 'u{' ( xdigit{1,6} [ \t] )*
726
+ ( xdigit{1,6} '}'
727
+ %unicode_points
728
+ | ( xdigit* ( c_any - xdigit - '}' )+ '}'
729
+ | ( c_any - '}' )* c_eof
730
+ | xdigit{7,}
731
+ ) % {
732
+ @escape = lambda do
733
+ diagnostic :fatal, :unterminated_unicode, nil,
734
+ range(p - 1, p)
735
+ end
736
+ }
737
+ )
738
+
739
+ # \C-\a \cx
740
+ | ( 'C-' | 'c' ) escaped_nl?
741
+ maybe_escaped_ctrl_char
742
+
743
+ # \M-a
744
+ | 'M-' escaped_nl?
745
+ maybe_escaped_char
746
+ %slash_m_char
747
+
748
+ # \C-\M-f \M-\cf \c\M-f
749
+ | ( ( 'C-' | 'c' ) escaped_nl? '\\M-'
750
+ | 'M-\\' escaped_nl? ( 'C-' | 'c' ) ) escaped_nl?
751
+ maybe_escaped_ctrl_char
752
+ %slash_m_char
753
+
754
+ | 'C' c_any %invalid_complex_escape
755
+ | 'M' c_any %invalid_complex_escape
756
+ | ( 'M-\\C' | 'C-\\M' ) c_any %invalid_complex_escape
757
+
758
+ | ( c_any - [0-7xuCMc] ) %unescape_char
759
+
760
+ | c_eof % {
761
+ diagnostic :fatal, :escape_eof, nil, range(p - 1, p)
762
+ }
763
+ );
764
+
765
+ # Use rules in form of `e_bs escape' when you need to parse a sequence.
766
+ e_bs = '\\' % {
767
+ @escape_s = p
768
+ @escape = nil
769
+ };
770
+
771
+ #
772
+ # === STRING AND HEREDOC PARSING ===
773
+ #
774
+
775
+ # Heredoc parsing is quite a complex topic. First, consider that heredocs
776
+ # can be arbitrarily nested. For example:
777
+ #
778
+ # puts <<CODE
779
+ # the result is: #{<<RESULT.inspect
780
+ # i am a heredoc
781
+ # RESULT
782
+ # }
783
+ # CODE
784
+ #
785
+ # which, incidentally, evaluates to:
786
+ #
787
+ # the result is: " i am a heredoc\n"
788
+ #
789
+ # To parse them, lexer refers to two kinds (remember, nested heredocs)
790
+ # of positions in the input stream, namely @heredoc_e
791
+ # (HEREDOC declaration End) and @herebody_s (HEREdoc BODY line Start).
792
+ #
793
+ # @heredoc_e is simply contained inside the corresponding Literal, and
794
+ # when the heredoc is closed, the lexing is restarted from that position.
795
+ #
796
+ # @herebody_s is quite more complex. First, @herebody_s changes after each
797
+ # heredoc line is lexed. This way, at '\n' tok(@herebody_s, @te) always
798
+ # contains the current line, and also when a heredoc is started, @herebody_s
799
+ # contains the position from which the heredoc will be lexed.
800
+ #
801
+ # Second, as (insanity) there are nested heredocs, we need to maintain a
802
+ # stack of these positions. Each time #push_literal is called, it saves current
803
+ # @heredoc_s to literal.saved_herebody_s, and after an interpolation (possibly
804
+ # containing another heredocs) is closed, the previous value is restored.
805
+
806
+ e_heredoc_nl = c_nl % {
807
+ # After every heredoc was parsed, @herebody_s contains the
808
+ # position of next token after all heredocs.
809
+ if @herebody_s
810
+ p = @herebody_s
811
+ @herebody_s = nil
812
+ end
813
+ };
814
+
815
+ action extend_string {
816
+ string = @source[@ts...@te]
817
+ string = string.encode(@encoding) if string.respond_to?(:encode)
818
+
819
+ if !literal.heredoc? && literal.nest_and_try_closing(string, @ts, @te)
820
+ fnext *pop_literal; fbreak;
821
+ else
822
+ literal.extend_string(string, @ts, @te)
823
+ end
824
+ }
825
+
826
+ action extend_string_escaped {
827
+ if literal.nest_and_try_closing('\\', @ts, @ts + 1)
828
+ # If the literal is actually closed by the backslash,
829
+ # rewind the input prior to consuming the escape sequence.
830
+ p = @escape_s - 1
831
+ fnext *pop_literal; fbreak;
832
+ else
833
+ # Get the first character after the backslash.
834
+ escaped_char = @source[@escape_s].chr
835
+
836
+ if literal.munge_escape? escaped_char
837
+ # If this particular literal uses this character as an opening
838
+ # or closing delimiter, it is an escape sequence for that
839
+ # particular character. Write it without the backslash.
840
+
841
+ if literal.regexp? && escaped_char == '\\'
842
+ # Regular expressions should include backslashes in their escaped
843
+ # form.
844
+ literal.extend_string(tok, @ts, @te)
845
+ else
846
+ literal.extend_string(escaped_char, @ts, @te)
847
+ end
848
+ else
849
+ # It does not. So this is an actual escape sequence, yay!
850
+ # Two things to consider here.
851
+ #
852
+ # 1. The `escape' rule should be pure and so won't raise any
853
+ # errors by itself. Instead, it stores them in lambdas.
854
+ #
855
+ # 2. Non-interpolated literals do not go through the aforementioned
856
+ # rule. As \\ and \' (and variants) are munged, the full token
857
+ # should always be written for such literals.
858
+
859
+ @escape.call if @escape.respond_to? :call
860
+
861
+ if literal.regexp?
862
+ # Regular expressions should include escape sequences in their
863
+ # escaped form. On the other hand, escaped newlines are removed.
864
+ literal.extend_string(tok.gsub("\\\n", ''), @ts, @te)
865
+ else
866
+ literal.extend_string(@escape || tok, @ts, @te)
867
+ end
868
+ end
869
+ end
870
+ }
871
+
872
+ # Extend a string with a newline or a EOF character.
873
+ # As heredoc closing line can immediately precede EOF, this action
874
+ # has to handle such case specially.
875
+ action extend_string_eol {
876
+ if @te == pe
877
+ diagnostic :fatal, :string_eof, nil,
878
+ range(literal.str_s, literal.str_s + 1)
879
+ end
880
+
881
+ if literal.heredoc?
882
+ line = tok(@herebody_s, @ts).gsub(/\r+$/, '')
883
+
884
+ if version?(18, 19, 20)
885
+ # See ruby:c48b4209c
886
+ line = line.gsub(/\r.*$/, '')
887
+ end
888
+
889
+ # Try ending the heredoc with the complete most recently
890
+ # scanned line. @herebody_s always refers to the start of such line.
891
+ if literal.nest_and_try_closing(line, @herebody_s, @ts)
892
+ # Adjust @herebody_s to point to the next line.
893
+ @herebody_s = @te
894
+
895
+ # Continue regular lexing after the heredoc reference (<<END).
896
+ p = literal.heredoc_e - 1
897
+ fnext *pop_literal; fbreak;
898
+ else
899
+ # Ditto.
900
+ @herebody_s = @te
901
+ end
902
+ else
903
+ # Try ending the literal with a newline.
904
+ if literal.nest_and_try_closing(tok, @ts, @te)
905
+ fnext *pop_literal; fbreak;
906
+ end
907
+
908
+ if @herebody_s
909
+ # This is a regular literal intertwined with a heredoc. Like:
910
+ #
911
+ # p <<-foo+"1
912
+ # bar
913
+ # foo
914
+ # 2"
915
+ #
916
+ # which, incidentally, evaluates to "bar\n1\n2".
917
+ p = @herebody_s - 1
918
+ @herebody_s = nil
919
+ end
920
+ end
921
+
922
+ if literal.words? && !eof_codepoint?(@source_pts[p])
923
+ literal.extend_space @ts, @te
924
+ else
925
+ # A literal newline is appended if the heredoc was _not_ closed
926
+ # this time (see fbreak above). See also Literal#nest_and_try_closing
927
+ # for rationale of calling #flush_string here.
928
+ literal.extend_string tok, @ts, @te
929
+ literal.flush_string
930
+ end
931
+ }
932
+
933
+ action extend_string_space {
934
+ literal.extend_space @ts, @te
935
+ }
936
+
937
+ #
938
+ # === INTERPOLATION PARSING ===
939
+ #
940
+
941
+ # Interpolations with immediate variable names simply call into
942
+ # the corresponding machine.
943
+
944
+ interp_var = '#' ( global_var | class_var_v | instance_var_v );
945
+
946
+ action extend_interp_var {
947
+ literal.flush_string
948
+ literal.extend_content
949
+
950
+ emit(:tSTRING_DVAR, nil, @ts, @ts + 1)
951
+
952
+ p = @ts
953
+ fcall expr_variable;
954
+ }
955
+
956
+ # Interpolations with code blocks must match nested curly braces, as
957
+ # interpolation ending is ambiguous with a block ending. So, every
958
+ # opening and closing brace should be matched with e_[lr]brace rules,
959
+ # which automatically perform the counting.
960
+ #
961
+ # Note that interpolations can themselves be nested, so brace balance
962
+ # is tied to the innermost literal.
963
+ #
964
+ # Also note that literals themselves should not use e_[lr]brace rules
965
+ # when matching their opening and closing delimiters, as the amount of
966
+ # braces inside the characters of a string literal is independent.
967
+
968
+ interp_code = '#{';
969
+
970
+ e_lbrace = '{' % {
971
+ @cond.push(false); @cmdarg.push(false)
972
+
973
+ if literal
974
+ literal.start_interp_brace
975
+ end
976
+ };
977
+
978
+ e_rbrace = '}' % {
979
+ if literal
980
+ if literal.end_interp_brace_and_try_closing
981
+ if version?(18, 19)
982
+ emit(:tRCURLY, '}', p - 1, p)
983
+ else
984
+ emit(:tSTRING_DEND, '}', p - 1, p)
985
+ end
986
+
987
+ if literal.saved_herebody_s
988
+ @herebody_s = literal.saved_herebody_s
989
+ end
990
+
991
+ fhold;
992
+ fnext *stack_pop;
993
+ fbreak;
994
+ end
995
+ end
996
+ };
997
+
998
+ action extend_interp_code {
999
+ literal.flush_string
1000
+ literal.extend_content
1001
+
1002
+ emit(:tSTRING_DBEG, '#{')
1003
+
1004
+ if literal.heredoc?
1005
+ literal.saved_herebody_s = @herebody_s
1006
+ @herebody_s = nil
1007
+ end
1008
+
1009
+ literal.start_interp_brace
1010
+ fcall expr_value;
1011
+ }
1012
+
1013
+ # Actual string parsers are simply combined from the primitives defined
1014
+ # above.
1015
+
1016
+ interp_words := |*
1017
+ interp_code => extend_interp_code;
1018
+ interp_var => extend_interp_var;
1019
+ e_bs escape => extend_string_escaped;
1020
+ c_space+ => extend_string_space;
1021
+ c_eol => extend_string_eol;
1022
+ c_any => extend_string;
1023
+ *|;
1024
+
1025
+ interp_string := |*
1026
+ interp_code => extend_interp_code;
1027
+ interp_var => extend_interp_var;
1028
+ e_bs escape => extend_string_escaped;
1029
+ c_eol => extend_string_eol;
1030
+ c_any => extend_string;
1031
+ *|;
1032
+
1033
+ plain_words := |*
1034
+ e_bs c_any => extend_string_escaped;
1035
+ c_space+ => extend_string_space;
1036
+ c_eol => extend_string_eol;
1037
+ c_any => extend_string;
1038
+ *|;
1039
+
1040
+ plain_string := |*
1041
+ '\\' c_nl => extend_string_eol;
1042
+ e_bs c_any => extend_string_escaped;
1043
+ c_eol => extend_string_eol;
1044
+ c_any => extend_string;
1045
+ *|;
1046
+
1047
+ regexp_modifiers := |*
1048
+ [A-Za-z]+
1049
+ => {
1050
+ unknown_options = tok.scan(/[^imxouesn]/)
1051
+ if unknown_options.any?
1052
+ diagnostic :error, :regexp_options,
1053
+ { :options => unknown_options.join }
1054
+ end
1055
+
1056
+ emit(:tREGEXP_OPT)
1057
+ fnext expr_end; fbreak;
1058
+ };
1059
+
1060
+ any
1061
+ => {
1062
+ emit(:tREGEXP_OPT, tok(@ts, @te - 1), @ts, @te - 1)
1063
+ fhold; fgoto expr_end;
1064
+ };
1065
+ *|;
1066
+
1067
+ #
1068
+ # === WHITESPACE HANDLING ===
1069
+ #
1070
+
1071
+ # Various contexts in Ruby allow various kinds of whitespace
1072
+ # to be used. They are grouped to clarify the lexing machines
1073
+ # and ease collection of comments.
1074
+
1075
+ # A line of code with inline #comment at end is always equivalent
1076
+ # to a line of code ending with just a newline, so an inline
1077
+ # comment is deemed equivalent to non-newline whitespace
1078
+ # (c_space character class).
1079
+
1080
+ w_space =
1081
+ c_space+
1082
+ | '\\' e_heredoc_nl
1083
+ ;
1084
+
1085
+ w_comment =
1086
+ '#' %{ @sharp_s = p - 1 }
1087
+ # The (p == pe) condition compensates for added "\0" and
1088
+ # the way Ragel handles EOF.
1089
+ c_line* %{ emit_comment(@sharp_s, p == pe ? p - 2 : p) }
1090
+ ;
1091
+
1092
+ w_space_comment =
1093
+ w_space
1094
+ | w_comment
1095
+ ;
1096
+
1097
+ # A newline in non-literal context always interoperates with
1098
+ # here document logic and can always be escaped by a backslash,
1099
+ # still interoperating with here document logic in the same way,
1100
+ # yet being invisible to anything else.
1101
+ #
1102
+ # To demonstrate:
1103
+ #
1104
+ # foo = <<FOO \
1105
+ # bar
1106
+ # FOO
1107
+ # + 2
1108
+ #
1109
+ # is equivalent to `foo = "bar\n" + 2`.
1110
+
1111
+ w_newline =
1112
+ e_heredoc_nl;
1113
+
1114
+ w_any =
1115
+ w_space
1116
+ | w_comment
1117
+ | w_newline
1118
+ ;
1119
+
1120
+
1121
+ #
1122
+ # === EXPRESSION PARSING ===
1123
+ #
1124
+
1125
+ # These rules implement a form of manually defined lookahead.
1126
+ # The default longest-match scanning does not work here due
1127
+ # to sheer ambiguity.
1128
+
1129
+ ambiguous_fid_suffix = # actual parsed
1130
+ [?!] %{ tm = p } | # a? a?
1131
+ '!=' %{ tm = p - 2 } # a!=b a != b
1132
+ ;
1133
+
1134
+ ambiguous_ident_suffix = # actual parsed
1135
+ ambiguous_fid_suffix |
1136
+ '=' %{ tm = p } | # a= a=
1137
+ '==' %{ tm = p - 2 } | # a==b a == b
1138
+ '=~' %{ tm = p - 2 } | # a=~b a =~ b
1139
+ '=>' %{ tm = p - 2 } | # a=>b a => b
1140
+ '===' %{ tm = p - 3 } # a===b a === b
1141
+ ;
1142
+
1143
+ ambiguous_symbol_suffix = # actual parsed
1144
+ ambiguous_ident_suffix |
1145
+ '==>' %{ tm = p - 2 } # :a==>b :a= => b
1146
+ ;
1147
+
1148
+ # Ambiguous with 1.9 hash labels.
1149
+ ambiguous_const_suffix = # actual parsed
1150
+ '::' %{ tm = p - 2 } # A::B A :: B
1151
+ ;
1152
+
1153
+ # Resolving kDO/kDO_COND/kDO_BLOCK ambiguity requires embedding
1154
+ # @cond/@cmdarg-related code to e_lbrack, e_lparen and e_lbrace.
1155
+
1156
+ e_lbrack = '[' % {
1157
+ @cond.push(false); @cmdarg.push(false)
1158
+ };
1159
+
1160
+ # Ruby 1.9 lambdas require parentheses counting in order to
1161
+ # emit correct opening kDO/tLBRACE.
1162
+
1163
+ e_lparen = '(' % {
1164
+ @cond.push(false); @cmdarg.push(false)
1165
+
1166
+ @paren_nest += 1
1167
+ };
1168
+
1169
+ e_rparen = ')' % {
1170
+ @paren_nest -= 1
1171
+ };
1172
+
1173
+ # Ruby is context-sensitive wrt/ local identifiers.
1174
+ action local_ident {
1175
+ emit(:tIDENTIFIER)
1176
+
1177
+ if !@static_env.nil? && @static_env.declared?(tok)
1178
+ fnext expr_end; fbreak;
1179
+ else
1180
+ fnext *arg_or_cmdarg; fbreak;
1181
+ end
1182
+ }
1183
+
1184
+ # Variable lexing code is accessed from both expressions and
1185
+ # string interpolation related code.
1186
+ #
1187
+ expr_variable := |*
1188
+ global_var
1189
+ => {
1190
+ if tok =~ /^\$([1-9][0-9]*)$/
1191
+ emit(:tNTH_REF, tok(@ts + 1).to_i)
1192
+ elsif tok =~ /^\$([&`'+])$/
1193
+ emit(:tBACK_REF)
1194
+ else
1195
+ emit(:tGVAR)
1196
+ end
1197
+
1198
+ fnext *stack_pop; fbreak;
1199
+ };
1200
+
1201
+ class_var_v
1202
+ => {
1203
+ if tok =~ /^@@[0-9]/
1204
+ diagnostic :error, :cvar_name, { :name => tok }
1205
+ end
1206
+
1207
+ emit(:tCVAR)
1208
+ fnext *stack_pop; fbreak;
1209
+ };
1210
+
1211
+ instance_var_v
1212
+ => {
1213
+ if tok =~ /^@[0-9]/
1214
+ diagnostic :error, :ivar_name, { :name => tok }
1215
+ end
1216
+
1217
+ emit(:tIVAR)
1218
+ fnext *stack_pop; fbreak;
1219
+ };
1220
+ *|;
1221
+
1222
+ # Literal function name in definition (e.g. `def class`).
1223
+ # Keywords are returned as their respective tokens; this is used
1224
+ # to support singleton def `def self.foo`. Global variables are
1225
+ # returned as `tGVAR`; this is used in global variable alias
1226
+ # statements `alias $a $b`. Symbols are returned verbatim; this
1227
+ # is used in `alias :a :"b#{foo}"` and `undef :a`.
1228
+ #
1229
+ # Transitions to `expr_endfn` afterwards.
1230
+ #
1231
+ expr_fname := |*
1232
+ keyword
1233
+ => { emit(KEYWORDS_BEGIN[tok]);
1234
+ fnext expr_endfn; fbreak; };
1235
+
1236
+ constant
1237
+ => { emit(:tCONSTANT)
1238
+ fnext expr_endfn; fbreak; };
1239
+
1240
+ bareword [?=!]?
1241
+ => { emit(:tIDENTIFIER)
1242
+ fnext expr_endfn; fbreak; };
1243
+
1244
+ global_var
1245
+ => { p = @ts - 1
1246
+ fnext expr_end; fcall expr_variable; };
1247
+
1248
+ # If the handling was to be delegated to expr_end,
1249
+ # these cases would transition to something else than
1250
+ # expr_endfn, which is incorrect.
1251
+ operator_fname |
1252
+ operator_arithmetic |
1253
+ operator_rest
1254
+ => { emit_table(PUNCTUATION)
1255
+ fnext expr_endfn; fbreak; };
1256
+
1257
+ '::'
1258
+ => { fhold; fhold; fgoto expr_end; };
1259
+
1260
+ ':'
1261
+ => { fhold; fgoto expr_beg; };
1262
+
1263
+ w_any;
1264
+
1265
+ c_any
1266
+ => { fhold; fgoto expr_end; };
1267
+
1268
+ c_eof => do_eof;
1269
+ *|;
1270
+
1271
+ # After literal function name in definition. Behaves like `expr_end`,
1272
+ # but allows a tLABEL.
1273
+ #
1274
+ # Transitions to `expr_end` afterwards.
1275
+ #
1276
+ expr_endfn := |*
1277
+ label
1278
+ => { emit(:tLABEL, tok(@ts, @te - 1))
1279
+ fnext expr_beg; fbreak; };
1280
+
1281
+ w_space_comment;
1282
+
1283
+ c_any
1284
+ => { fhold; fgoto expr_end; };
1285
+
1286
+ c_eof => do_eof;
1287
+ *|;
1288
+
1289
+ # Literal function name in method call (e.g. `a.class`).
1290
+ #
1291
+ # Transitions to `expr_arg` afterwards.
1292
+ #
1293
+ expr_dot := |*
1294
+ constant
1295
+ => { emit(:tCONSTANT)
1296
+ fnext *arg_or_cmdarg; fbreak; };
1297
+
1298
+ call_or_var
1299
+ => { emit(:tIDENTIFIER)
1300
+ fnext *arg_or_cmdarg; fbreak; };
1301
+
1302
+ bareword ambiguous_fid_suffix
1303
+ => { emit(:tFID, tok(@ts, tm), @ts, tm)
1304
+ fnext *arg_or_cmdarg; p = tm - 1; fbreak; };
1305
+
1306
+ # See the comment in `expr_fname`.
1307
+ operator_fname |
1308
+ operator_arithmetic |
1309
+ operator_rest
1310
+ => { emit_table(PUNCTUATION)
1311
+ fnext expr_arg; fbreak; };
1312
+
1313
+ w_any;
1314
+
1315
+ c_any
1316
+ => { fhold; fgoto expr_end; };
1317
+
1318
+ c_eof => do_eof;
1319
+ *|;
1320
+
1321
+ # The previous token emitted was a `tIDENTIFIER` or `tFID`; no space
1322
+ # is consumed; the current expression is a command or method call.
1323
+ #
1324
+ expr_arg := |*
1325
+ #
1326
+ # COMMAND MODE SPECIFIC TOKENS
1327
+ #
1328
+
1329
+ # cmd (1 + 2)
1330
+ # See below the rationale about expr_endarg.
1331
+ w_space+ e_lparen
1332
+ => {
1333
+ if version?(18)
1334
+ emit(:tLPAREN2, '(', @te - 1, @te)
1335
+ fnext expr_value; fbreak;
1336
+ else
1337
+ emit(:tLPAREN_ARG, '(', @te - 1, @te)
1338
+ fnext expr_beg; fbreak;
1339
+ end
1340
+ };
1341
+
1342
+ # meth(1 + 2)
1343
+ # Regular method call.
1344
+ e_lparen
1345
+ => { emit(:tLPAREN2)
1346
+ fnext expr_beg; fbreak; };
1347
+
1348
+ # meth [...]
1349
+ # Array argument. Compare with indexing `meth[...]`.
1350
+ w_space+ e_lbrack
1351
+ => { emit(:tLBRACK, '[', @te - 1, @te)
1352
+ fnext expr_beg; fbreak; };
1353
+
1354
+ # cmd {}
1355
+ # Command: method call without parentheses.
1356
+ w_space* e_lbrace
1357
+ => {
1358
+ if @lambda_stack.last == @paren_nest
1359
+ p = @ts - 1
1360
+ fgoto expr_end;
1361
+ else
1362
+ emit(:tLCURLY, '{', @te - 1, @te)
1363
+ fnext expr_value; fbreak;
1364
+ end
1365
+ };
1366
+
1367
+ #
1368
+ # AMBIGUOUS TOKENS RESOLVED VIA EXPR_BEG
1369
+ #
1370
+
1371
+ # a ?b
1372
+ # Character literal.
1373
+ w_space* '?'
1374
+ => { fhold; fgoto expr_beg; };
1375
+
1376
+ # a %{1}, a %[1] (but not "a %=1=" or "a % foo")
1377
+ # a /foo/ (but not "a / foo" or "a /=foo")
1378
+ # a <<HEREDOC
1379
+ w_space+ %{ tm = p }
1380
+ ( [%/] ( c_any - c_space_nl - '=' ) # /
1381
+ | '<<'
1382
+ )
1383
+ => {
1384
+ if tok(tm, tm + 1) == '/'
1385
+ # Ambiguous regexp literal.
1386
+ diagnostic :warning, :ambiguous_literal, nil, range(tm, tm + 1)
1387
+ end
1388
+
1389
+ p = tm - 1
1390
+ fgoto expr_beg;
1391
+ };
1392
+
1393
+ # x *1
1394
+ # Ambiguous splat, kwsplat or block-pass.
1395
+ w_space+ %{ tm = p } ( '+' | '-' | '*' | '&' | '**' )
1396
+ => {
1397
+ diagnostic :warning, :ambiguous_prefix, { :prefix => tok(tm, @te) },
1398
+ range(tm, @te)
1399
+
1400
+ p = tm - 1
1401
+ fgoto expr_beg;
1402
+ };
1403
+
1404
+ # x ::Foo
1405
+ # Ambiguous toplevel constant access.
1406
+ w_space+ '::'
1407
+ => { fhold; fhold; fgoto expr_beg; };
1408
+
1409
+ # x:b
1410
+ # Symbol.
1411
+ w_space* ':'
1412
+ => { fhold; fgoto expr_beg; };
1413
+
1414
+ w_space+ label
1415
+ => { p = @ts - 1; fgoto expr_beg; };
1416
+
1417
+ #
1418
+ # AMBIGUOUS TOKENS RESOLVED VIA EXPR_END
1419
+ #
1420
+
1421
+ # a ? b
1422
+ # Ternary operator.
1423
+ w_space+ %{ tm = p } '?' c_space_nl
1424
+ => { p = tm - 1; fgoto expr_end; };
1425
+
1426
+ # x + 1: Binary operator or operator-assignment.
1427
+ w_space* operator_arithmetic
1428
+ ( '=' | c_space_nl )? |
1429
+ # x rescue y: Modifier keyword.
1430
+ w_space* keyword_modifier |
1431
+ # Miscellanea.
1432
+ w_space* punctuation_end
1433
+ => {
1434
+ p = @ts - 1
1435
+ fgoto expr_end;
1436
+ };
1437
+
1438
+ w_space;
1439
+
1440
+ w_comment
1441
+ => { fgoto expr_end; };
1442
+
1443
+ w_newline
1444
+ => { fhold; fgoto expr_end; };
1445
+
1446
+ c_any
1447
+ => { fhold; fgoto expr_beg; };
1448
+
1449
+ c_eof => do_eof;
1450
+ *|;
1451
+
1452
+ # The previous token was an identifier which was seen while in the
1453
+ # command mode (that is, the state at the beginning of #advance was
1454
+ # expr_value). This state is very similar to expr_arg, but disambiguates
1455
+ # two very rare and specific condition:
1456
+ # * In 1.8 mode, "foo (lambda do end)".
1457
+ # * In 1.9+ mode, "f x: -> do foo do end end".
1458
+ expr_cmdarg := |*
1459
+ w_space+ e_lparen
1460
+ => {
1461
+ emit(:tLPAREN_ARG, '(', @te - 1, @te)
1462
+ if version?(18)
1463
+ fnext expr_value; fbreak;
1464
+ else
1465
+ fnext expr_beg; fbreak;
1466
+ end
1467
+ };
1468
+
1469
+ w_space* 'do'
1470
+ => {
1471
+ if @cond.active?
1472
+ emit(:kDO_COND, 'do', @te - 2, @te)
1473
+ else
1474
+ emit(:kDO, 'do', @te - 2, @te)
1475
+ end
1476
+ fnext expr_value; fbreak;
1477
+ };
1478
+
1479
+ c_any |
1480
+ # Disambiguate with the `do' rule above.
1481
+ w_space* bareword |
1482
+ w_space* label
1483
+ => { p = @ts - 1
1484
+ fgoto expr_arg; };
1485
+
1486
+ c_eof => do_eof;
1487
+ *|;
1488
+
1489
+ # The rationale for this state is pretty complex. Normally, if an argument
1490
+ # is passed to a command and then there is a block (tLCURLY...tRCURLY),
1491
+ # the block is attached to the innermost argument (`f` in `m f {}`), or it
1492
+ # is a parse error (`m 1 {}`). But there is a special case for passing a single
1493
+ # primary expression grouped with parentheses: if you write `m (1) {}` or
1494
+ # (2.0 only) `m () {}`, then the block is attached to `m`.
1495
+ #
1496
+ # Thus, we recognize the opening `(` of a command (remember, a command is
1497
+ # a method call without parens) as a tLPAREN_ARG; then, in parser, we recognize
1498
+ # `tLPAREN_ARG expr rparen` as a `primary_expr` and before rparen, set the
1499
+ # lexer's state to `expr_endarg`, which makes it emit the possibly following
1500
+ # `{` as `tLBRACE_ARG`.
1501
+ #
1502
+ # The default post-`expr_endarg` state is `expr_end`, so this state also handles
1503
+ # `do` (as `kDO_BLOCK` in `expr_beg`).
1504
+ expr_endarg := |*
1505
+ e_lbrace
1506
+ => { emit(:tLBRACE_ARG)
1507
+ fnext expr_value; };
1508
+
1509
+ 'do'
1510
+ => { emit_do(true)
1511
+ fnext expr_value; fbreak; };
1512
+
1513
+ w_space_comment;
1514
+
1515
+ c_any
1516
+ => { fhold; fgoto expr_end; };
1517
+
1518
+ c_eof => do_eof;
1519
+ *|;
1520
+
1521
+ # The rationale for this state is that several keywords accept value
1522
+ # (i.e. should transition to `expr_beg`), do not accept it like a command
1523
+ # (i.e. not an `expr_arg`), and must behave like a statement, that is,
1524
+ # accept a modifier if/while/etc.
1525
+ #
1526
+ expr_mid := |*
1527
+ keyword_modifier
1528
+ => { emit_table(KEYWORDS)
1529
+ fnext expr_beg; fbreak; };
1530
+
1531
+ bareword
1532
+ => { p = @ts - 1; fgoto expr_beg; };
1533
+
1534
+ w_space_comment;
1535
+
1536
+ w_newline
1537
+ => { fhold; fgoto expr_end; };
1538
+
1539
+ c_any
1540
+ => { fhold; fgoto expr_beg; };
1541
+
1542
+ c_eof => do_eof;
1543
+ *|;
1544
+
1545
+ # Beginning of an expression.
1546
+ #
1547
+ # Don't fallthrough to this state from `c_any`; make sure to handle
1548
+ # `c_space* c_nl` and let `expr_end` handle the newline.
1549
+ # Otherwise code like `f\ndef x` gets glued together and the parser
1550
+ # explodes.
1551
+ #
1552
+ expr_beg := |*
1553
+ # Numeric processing. Converts:
1554
+ # +5 to [tINTEGER, 5]
1555
+ # -5 to [tUMINUS_NUM] [tINTEGER, 5]
1556
+ [+\-][0-9]
1557
+ => {
1558
+ fhold;
1559
+ if tok.start_with? '-'
1560
+ emit(:tUMINUS_NUM, '-', @ts, @ts + 1)
1561
+ fnext expr_end; fbreak;
1562
+ end
1563
+ };
1564
+
1565
+ # splat *a
1566
+ '*'
1567
+ => { emit(:tSTAR)
1568
+ fbreak; };
1569
+
1570
+ #
1571
+ # STRING AND REGEXP LITERALS
1572
+ #
1573
+
1574
+ # /regexp/oui
1575
+ # /=/ (disambiguation with /=)
1576
+ '/' c_any
1577
+ => {
1578
+ type = delimiter = tok[0].chr
1579
+ fhold; fgoto *push_literal(type, delimiter, @ts);
1580
+ };
1581
+
1582
+ # %<string>
1583
+ '%' ( any - [A-Za-z] )
1584
+ => {
1585
+ type, delimiter = tok[0].chr, tok[-1].chr
1586
+ fgoto *push_literal(type, delimiter, @ts);
1587
+ };
1588
+
1589
+ # %w(we are the people)
1590
+ '%' [A-Za-z]+ c_any
1591
+ => {
1592
+ type, delimiter = tok[0..-2], tok[-1].chr
1593
+ fgoto *push_literal(type, delimiter, @ts);
1594
+ };
1595
+
1596
+ '%' c_eof
1597
+ => {
1598
+ diagnostic :fatal, :string_eof, nil, range(@ts, @ts + 1)
1599
+ };
1600
+
1601
+ # Heredoc start.
1602
+ # <<EOF | <<-END | <<"FOOBAR" | <<-`SMTH`
1603
+ '<<' '-'?
1604
+ ( '"' ( c_line - '"' )* '"'
1605
+ | "'" ( c_line - "'" )* "'"
1606
+ | "`" ( c_line - "`" )* "`"
1607
+ | bareword ) % { @heredoc_e = p }
1608
+ c_line* c_nl % { new_herebody_s = p }
1609
+ => {
1610
+ tok(@ts, @heredoc_e) =~ /^<<(-?)(["'`]?)(.*)\2$/
1611
+
1612
+ indent = !$1.empty?
1613
+ type = '<<' + ($2.empty? ? '"' : $2)
1614
+ delimiter = $3
1615
+
1616
+ fnext *push_literal(type, delimiter, @ts, @heredoc_e, indent);
1617
+
1618
+ if @herebody_s.nil?
1619
+ @herebody_s = new_herebody_s
1620
+ end
1621
+
1622
+ p = @herebody_s - 1
1623
+ };
1624
+
1625
+ #
1626
+ # SYMBOL LITERALS
1627
+ #
1628
+
1629
+ # :"bar", :'baz'
1630
+ ':' ['"] # '
1631
+ => {
1632
+ type, delimiter = tok, tok[-1].chr
1633
+ fgoto *push_literal(type, delimiter, @ts);
1634
+ };
1635
+
1636
+ ':' bareword ambiguous_symbol_suffix
1637
+ => {
1638
+ emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
1639
+ p = tm - 1
1640
+ fnext expr_end; fbreak;
1641
+ };
1642
+
1643
+ ':' ( bareword | global_var | class_var | instance_var |
1644
+ operator_fname | operator_arithmetic | operator_rest )
1645
+ => {
1646
+ emit(:tSYMBOL, tok(@ts + 1), @ts)
1647
+ fnext expr_end; fbreak;
1648
+ };
1649
+
1650
+ #
1651
+ # AMBIGUOUS TERNARY OPERATOR
1652
+ #
1653
+
1654
+ '?' ( e_bs escape
1655
+ | c_any - c_space_nl - e_bs % { @escape = nil }
1656
+ )
1657
+ => {
1658
+ # Show an error if memorized.
1659
+ @escape.call if @escape.respond_to? :call
1660
+
1661
+ value = @escape || tok(@ts + 1)
1662
+
1663
+ if version?(18)
1664
+ emit(:tINTEGER, value[0].ord)
1665
+ else
1666
+ emit(:tCHARACTER, value)
1667
+ end
1668
+
1669
+ fnext expr_end; fbreak;
1670
+ };
1671
+
1672
+ '?' c_space_nl
1673
+ => {
1674
+ escape = { " " => '\s', "\r" => '\r', "\n" => '\n', "\t" => '\t',
1675
+ "\v" => '\v', "\f" => '\f' }[tok[1]]
1676
+ diagnostic :warning, :invalid_escape_use, { :escape => escape }, range
1677
+
1678
+ p = @ts - 1
1679
+ fgoto expr_end;
1680
+ };
1681
+
1682
+ '?' c_eof
1683
+ => {
1684
+ diagnostic :fatal, :incomplete_escape, nil, range(@ts, @ts + 1)
1685
+ };
1686
+
1687
+ # f ?aa : b: Disambiguate with a character literal.
1688
+ '?' [A-Za-z_] bareword
1689
+ => {
1690
+ p = @ts - 1
1691
+ fgoto expr_end;
1692
+ };
1693
+
1694
+ #
1695
+ # KEYWORDS AND PUNCTUATION
1696
+ #
1697
+
1698
+ # a({b=>c})
1699
+ e_lbrace
1700
+ => {
1701
+ if @lambda_stack.last == @paren_nest
1702
+ @lambda_stack.pop
1703
+ emit(:tLAMBEG)
1704
+ else
1705
+ emit_table(PUNCTUATION_BEGIN)
1706
+ end
1707
+ fbreak;
1708
+ };
1709
+
1710
+ # a([1, 2])
1711
+ e_lbrack |
1712
+ # a()
1713
+ e_lparen
1714
+ => { emit_table(PUNCTUATION_BEGIN)
1715
+ fbreak; };
1716
+
1717
+ # a(+b)
1718
+ punctuation_begin
1719
+ => { emit_table(PUNCTUATION_BEGIN)
1720
+ fbreak; };
1721
+
1722
+ # rescue Exception => e: Block rescue.
1723
+ # Special because it should transition to expr_mid.
1724
+ 'rescue' %{ tm = p } '=>'?
1725
+ => { emit_table(KEYWORDS_BEGIN, @ts, tm)
1726
+ p = tm - 1
1727
+ fnext expr_mid; fbreak; };
1728
+
1729
+ # if a: Statement if.
1730
+ keyword_modifier
1731
+ => { emit_table(KEYWORDS_BEGIN)
1732
+ fnext expr_value; fbreak; };
1733
+
1734
+ #
1735
+ # RUBY 1.9 HASH LABELS
1736
+ #
1737
+
1738
+ label ( any - ':' )
1739
+ => {
1740
+ fhold;
1741
+
1742
+ if version?(18)
1743
+ ident = tok(@ts, @te - 2)
1744
+
1745
+ emit((tok[0] =~ /[A-Z]/) ? :tCONSTANT : :tIDENTIFIER,
1746
+ ident, @ts, @te - 2)
1747
+ fhold; # continue as a symbol
1748
+
1749
+ if !@static_env.nil? && @static_env.declared?(ident)
1750
+ fnext expr_end;
1751
+ else
1752
+ fnext *arg_or_cmdarg;
1753
+ end
1754
+ else
1755
+ emit(:tLABEL, tok(@ts, @te - 2), @ts, @te - 1)
1756
+ end
1757
+
1758
+ fbreak;
1759
+ };
1760
+
1761
+ #
1762
+ # CONTEXT-DEPENDENT VARIABLE LOOKUP OR COMMAND INVOCATION
1763
+ #
1764
+
1765
+ # foo= bar: Disambiguate with bareword rule below.
1766
+ bareword ambiguous_ident_suffix |
1767
+ # def foo: Disambiguate with bareword rule below.
1768
+ keyword
1769
+ => { p = @ts - 1
1770
+ fgoto expr_end; };
1771
+
1772
+ # a = 42; a [42]: Indexing.
1773
+ # def a; end; a [42]: Array argument.
1774
+ call_or_var
1775
+ => local_ident;
1776
+
1777
+ #
1778
+ # WHITESPACE
1779
+ #
1780
+
1781
+ w_any;
1782
+
1783
+ e_heredoc_nl '=begin' ( c_space | c_nl_zlen )
1784
+ => { p = @ts - 1
1785
+ fgoto line_begin; };
1786
+
1787
+ #
1788
+ # DEFAULT TRANSITION
1789
+ #
1790
+
1791
+ # The following rules match most binary and all unary operators.
1792
+ # Rules for binary operators provide better error reporting.
1793
+ operator_arithmetic '=' |
1794
+ operator_rest |
1795
+ punctuation_end |
1796
+ c_any
1797
+ => { p = @ts - 1; fgoto expr_end; };
1798
+
1799
+ c_eof => do_eof;
1800
+ *|;
1801
+
1802
+ # Like expr_beg, but no 1.9 label possible.
1803
+ #
1804
+ expr_value := |*
1805
+ # a:b: a(:b), a::B, A::B
1806
+ label (any - ':')
1807
+ => { p = @ts - 1
1808
+ fgoto expr_end; };
1809
+
1810
+ w_space_comment;
1811
+
1812
+ w_newline
1813
+ => { fgoto line_begin; };
1814
+
1815
+ c_any
1816
+ => { fhold; fgoto expr_beg; };
1817
+
1818
+ c_eof => do_eof;
1819
+ *|;
1820
+
1821
+ expr_end := |*
1822
+ #
1823
+ # STABBY LAMBDA
1824
+ #
1825
+
1826
+ '->'
1827
+ => {
1828
+ emit_table(PUNCTUATION, @ts, @ts + 2)
1829
+
1830
+ @lambda_stack.push @paren_nest
1831
+ fbreak;
1832
+ };
1833
+
1834
+ e_lbrace | 'do'
1835
+ => {
1836
+ if @lambda_stack.last == @paren_nest
1837
+ @lambda_stack.pop
1838
+
1839
+ if tok == '{'
1840
+ emit(:tLAMBEG)
1841
+ else # 'do'
1842
+ emit(:kDO_LAMBDA)
1843
+ end
1844
+ else
1845
+ if tok == '{'
1846
+ emit_table(PUNCTUATION)
1847
+ else # 'do'
1848
+ emit_do
1849
+ end
1850
+ end
1851
+
1852
+ fnext expr_value; fbreak;
1853
+ };
1854
+
1855
+ #
1856
+ # KEYWORDS
1857
+ #
1858
+
1859
+ keyword_with_fname
1860
+ => { emit_table(KEYWORDS)
1861
+ fnext expr_fname; fbreak; };
1862
+
1863
+ 'class' w_any* '<<'
1864
+ => { emit(:kCLASS, 'class', @ts, @ts + 5)
1865
+ emit(:tLSHFT, '<<', @te - 2, @te)
1866
+ fnext expr_value; fbreak; };
1867
+
1868
+ # a if b:c: Syntax error.
1869
+ keyword_modifier
1870
+ => { emit_table(KEYWORDS)
1871
+ fnext expr_beg; fbreak; };
1872
+
1873
+ # elsif b:c: elsif b(:c)
1874
+ keyword_with_value
1875
+ => { emit_table(KEYWORDS)
1876
+ fnext expr_value; fbreak; };
1877
+
1878
+ keyword_with_mid
1879
+ => { emit_table(KEYWORDS)
1880
+ fnext expr_mid; fbreak; };
1881
+
1882
+ keyword_with_arg
1883
+ => {
1884
+ emit_table(KEYWORDS)
1885
+
1886
+ if version?(18) && tok == 'not'
1887
+ fnext expr_beg; fbreak;
1888
+ else
1889
+ fnext expr_arg; fbreak;
1890
+ end
1891
+ };
1892
+
1893
+ '__ENCODING__'
1894
+ => {
1895
+ if version?(18)
1896
+ emit(:tIDENTIFIER)
1897
+
1898
+ if !@static_env.nil? && @static_env.declared?(tok)
1899
+ fnext expr_end;
1900
+ else
1901
+ fnext *arg_or_cmdarg;
1902
+ end
1903
+ else
1904
+ emit_table(KEYWORDS)
1905
+ end
1906
+ fbreak;
1907
+ };
1908
+
1909
+ keyword_with_end
1910
+ => { emit_table(KEYWORDS)
1911
+ fbreak; };
1912
+
1913
+ #
1914
+ # NUMERIC LITERALS
1915
+ #
1916
+
1917
+ ( '0' [Xx] %{ @num_base = 16; @num_digits_s = p } int_hex
1918
+ | '0' [Dd] %{ @num_base = 10; @num_digits_s = p } int_dec
1919
+ | '0' [Oo] %{ @num_base = 8; @num_digits_s = p } int_dec
1920
+ | '0' [Bb] %{ @num_base = 2; @num_digits_s = p } int_bin
1921
+ | [1-9] digit* '_'? %{ @num_base = 10; @num_digits_s = @ts } int_dec
1922
+ | '0' digit* '_'? %{ @num_base = 8; @num_digits_s = @ts } int_dec
1923
+ ) %{ @num_suffix_s = p } int_suffix
1924
+ => {
1925
+ digits = tok(@num_digits_s, @num_suffix_s)
1926
+
1927
+ if digits.end_with? '_'
1928
+ diagnostic :error, :trailing_in_number, { :character => '_' },
1929
+ range(@te - 1, @te)
1930
+ elsif digits.empty? && @num_base == 8 && version?(18)
1931
+ # 1.8 did not raise an error on 0o.
1932
+ digits = "0"
1933
+ elsif digits.empty?
1934
+ diagnostic :error, :empty_numeric
1935
+ elsif @num_base == 8 && (invalid_idx = digits.index(/[89]/))
1936
+ invalid_s = @num_digits_s + invalid_idx
1937
+ diagnostic :error, :invalid_octal, nil,
1938
+ range(invalid_s, invalid_s + 1)
1939
+ end
1940
+
1941
+ if version?(18, 19, 20)
1942
+ emit(:tINTEGER, digits.to_i(@num_base))
1943
+ p = @num_suffix_s - 1
1944
+ else
1945
+ @num_xfrm.call(digits.to_i(@num_base))
1946
+ end
1947
+ fbreak;
1948
+ };
1949
+
1950
+ flo_frac flo_pow?
1951
+ => {
1952
+ diagnostic :error, :no_dot_digit_literal
1953
+ };
1954
+
1955
+ flo_int [eE]
1956
+ => {
1957
+ if version?(18, 19, 20)
1958
+ diagnostic :error,
1959
+ :trailing_in_number, { :character => tok(@te - 1, @te) },
1960
+ range(@te - 1, @te)
1961
+ else
1962
+ emit(:tINTEGER, tok(@ts, @te - 1).to_i)
1963
+ fhold; fbreak;
1964
+ end
1965
+ };
1966
+
1967
+ flo_int flo_frac [eE]
1968
+ => {
1969
+ if version?(18, 19, 20)
1970
+ diagnostic :error,
1971
+ :trailing_in_number, { :character => tok(@te - 1, @te) },
1972
+ range(@te - 1, @te)
1973
+ else
1974
+ emit(:tFLOAT, tok(@ts, @te - 1).to_f)
1975
+ fhold; fbreak;
1976
+ end
1977
+ };
1978
+
1979
+ flo_int
1980
+ ( flo_frac? flo_pow %{ @num_suffix_s = p } flo_pow_suffix
1981
+ | flo_frac %{ @num_suffix_s = p } flo_suffix
1982
+ )
1983
+ => {
1984
+ digits = tok(@ts, @num_suffix_s)
1985
+
1986
+ if version?(18, 19, 20)
1987
+ emit(:tFLOAT, Float(digits))
1988
+ p = @num_suffix_s - 1
1989
+ else
1990
+ @num_xfrm.call(digits)
1991
+ end
1992
+ fbreak;
1993
+ };
1994
+
1995
+ #
1996
+ # STRING AND XSTRING LITERALS
1997
+ #
1998
+
1999
+ # `echo foo`, "bar", 'baz'
2000
+ '`' | ['"] # '
2001
+ => {
2002
+ type, delimiter = tok, tok[-1].chr
2003
+ fgoto *push_literal(type, delimiter, @ts);
2004
+ };
2005
+
2006
+ #
2007
+ # CONSTANTS AND VARIABLES
2008
+ #
2009
+
2010
+ constant
2011
+ => { emit(:tCONSTANT)
2012
+ fnext *arg_or_cmdarg; fbreak; };
2013
+
2014
+ constant ambiguous_const_suffix
2015
+ => { emit(:tCONSTANT, tok(@ts, tm), @ts, tm)
2016
+ p = tm - 1; fbreak; };
2017
+
2018
+ global_var | class_var_v | instance_var_v
2019
+ => { p = @ts - 1; fcall expr_variable; };
2020
+
2021
+ #
2022
+ # METHOD CALLS
2023
+ #
2024
+
2025
+ '.' | '::'
2026
+ => { emit_table(PUNCTUATION)
2027
+ fnext expr_dot; fbreak; };
2028
+
2029
+ call_or_var
2030
+ => local_ident;
2031
+
2032
+ bareword ambiguous_fid_suffix
2033
+ => {
2034
+ if tm == @te
2035
+ # Suffix was consumed, e.g. foo!
2036
+ emit(:tFID)
2037
+ else
2038
+ # Suffix was not consumed, e.g. foo!=
2039
+ emit(:tIDENTIFIER, tok(@ts, tm), @ts, tm)
2040
+ p = tm - 1
2041
+ end
2042
+ fnext expr_arg; fbreak;
2043
+ };
2044
+
2045
+ #
2046
+ # OPERATORS
2047
+ #
2048
+
2049
+ ( e_lparen
2050
+ | operator_arithmetic
2051
+ | operator_rest
2052
+ )
2053
+ => { emit_table(PUNCTUATION)
2054
+ fnext expr_beg; fbreak; };
2055
+
2056
+ e_rbrace | e_rparen | ']'
2057
+ => {
2058
+ emit_table(PUNCTUATION)
2059
+ @cond.lexpop; @cmdarg.lexpop
2060
+
2061
+ if %w"} ]".include?(tok)
2062
+ fnext expr_endarg;
2063
+ else # )
2064
+ # fnext expr_endfn; ?
2065
+ end
2066
+
2067
+ fbreak;
2068
+ };
2069
+
2070
+ operator_arithmetic '='
2071
+ => { emit(:tOP_ASGN, tok(@ts, @te - 1))
2072
+ fnext expr_beg; fbreak; };
2073
+
2074
+ '?'
2075
+ => { emit_table(PUNCTUATION)
2076
+ fnext expr_value; fbreak; };
2077
+
2078
+ e_lbrack
2079
+ => { emit_table(PUNCTUATION)
2080
+ fnext expr_beg; fbreak; };
2081
+
2082
+ punctuation_end
2083
+ => { emit_table(PUNCTUATION)
2084
+ fnext expr_beg; fbreak; };
2085
+
2086
+ #
2087
+ # WHITESPACE
2088
+ #
2089
+
2090
+ w_space_comment;
2091
+
2092
+ w_newline
2093
+ => { fgoto leading_dot; };
2094
+
2095
+ ';'
2096
+ => { emit_table(PUNCTUATION)
2097
+ fnext expr_value; fbreak; };
2098
+
2099
+ '\\' c_line {
2100
+ diagnostic :error, :bare_backslash, nil, range(@ts, @ts + 1)
2101
+ fhold;
2102
+ };
2103
+
2104
+ c_any
2105
+ => {
2106
+ diagnostic :fatal, :unexpected, { :character => tok.inspect[1..-2] }
2107
+ };
2108
+
2109
+ c_eof => do_eof;
2110
+ *|;
2111
+
2112
+ leading_dot := |*
2113
+ # Insane leading dots:
2114
+ # a #comment
2115
+ # .b: a.b
2116
+ c_space* '.' ( c_any - '.' )
2117
+ => { fhold; fhold;
2118
+ fgoto expr_end; };
2119
+
2120
+ any
2121
+ => { emit(:tNL, nil, @newline_s, @newline_s + 1)
2122
+ fhold; fnext line_begin; fbreak; };
2123
+ *|;
2124
+
2125
+ #
2126
+ # === EMBEDDED DOCUMENT (aka BLOCK COMMENT) PARSING ===
2127
+ #
2128
+
2129
+ line_comment := |*
2130
+ '=end' c_line* c_nl_zlen
2131
+ => {
2132
+ emit_comment(@eq_begin_s, @te)
2133
+ fgoto line_begin;
2134
+ };
2135
+
2136
+ c_line* c_nl;
2137
+
2138
+ c_line* zlen
2139
+ => {
2140
+ diagnostic :fatal, :embedded_document, nil,
2141
+ range(@eq_begin_s, @eq_begin_s + '=begin'.length)
2142
+ };
2143
+ *|;
2144
+
2145
+ line_begin := |*
2146
+ w_any;
2147
+
2148
+ '=begin' ( c_space | c_nl_zlen )
2149
+ => { @eq_begin_s = @ts
2150
+ fgoto line_comment; };
2151
+
2152
+ '__END__' ( c_eol - zlen )
2153
+ => { p = pe - 3 };
2154
+
2155
+ c_any
2156
+ => { fhold; fgoto expr_value; };
2157
+
2158
+ c_eof => do_eof;
2159
+ *|;
2160
+
2161
+ }%%
2162
+ # %
2163
+ end