ruby-lint 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (347) hide show
  1. data.tar.gz.asc +14 -14
  2. data/.gitignore +1 -2
  3. data/.rubocop.yml +59 -0
  4. data/.travis.yml +3 -7
  5. data/.yardopts +2 -2
  6. data/Gemfile +4 -0
  7. data/MANIFEST +103 -67
  8. data/README.md +13 -31
  9. data/Rakefile +1 -6
  10. data/checksum/ruby-lint-0.0.3.gem.sha512 +1 -0
  11. data/debug/memory_usage.rb +14 -0
  12. data/debug/profile.rb +18 -0
  13. data/doc/architecture.md +14 -18
  14. data/doc/changelog.md +29 -0
  15. data/doc/code_analysis.md +12 -12
  16. data/doc/configuration.md +21 -50
  17. data/doc/graphviz/flow.dot +1 -1
  18. data/doc/images/flow.png +0 -0
  19. data/lib/ruby-lint.rb +33 -19
  20. data/lib/ruby-lint/analysis/argument_amount.rb +84 -0
  21. data/lib/ruby-lint/analysis/base.rb +132 -0
  22. data/lib/ruby-lint/analysis/confusing_variables.rb +26 -0
  23. data/lib/ruby-lint/analysis/pedantics.rb +36 -0
  24. data/lib/ruby-lint/analysis/shadowing_variables.rb +47 -0
  25. data/lib/ruby-lint/analysis/undefined_methods.rb +91 -0
  26. data/lib/ruby-lint/analysis/undefined_variables.rb +46 -0
  27. data/lib/ruby-lint/analysis/unused_variables.rb +49 -0
  28. data/lib/ruby-lint/ast/builder.rb +17 -0
  29. data/lib/ruby-lint/ast/node.rb +39 -0
  30. data/lib/ruby-lint/cli.rb +0 -19
  31. data/lib/ruby-lint/cli/analyze.rb +54 -28
  32. data/lib/ruby-lint/cli/ast.rb +21 -6
  33. data/lib/ruby-lint/cli/base.rb +0 -23
  34. data/lib/ruby-lint/configuration.rb +112 -42
  35. data/lib/ruby-lint/constant_loader.rb +10 -28
  36. data/lib/ruby-lint/default_names.rb +19 -0
  37. data/lib/ruby-lint/definition/constant_proxy.rb +56 -0
  38. data/lib/ruby-lint/definition/ruby_method.rb +21 -143
  39. data/lib/ruby-lint/definition/ruby_object.rb +142 -246
  40. data/lib/ruby-lint/definition_builder/base.rb +43 -0
  41. data/lib/ruby-lint/definition_builder/primitive.rb +39 -0
  42. data/lib/ruby-lint/definition_builder/ruby_array.rb +77 -0
  43. data/lib/ruby-lint/definition_builder/ruby_block.rb +34 -0
  44. data/lib/ruby-lint/definition_builder/ruby_class.rb +24 -0
  45. data/lib/ruby-lint/definition_builder/ruby_hash.rb +37 -0
  46. data/lib/ruby-lint/definition_builder/ruby_method.rb +84 -0
  47. data/lib/ruby-lint/definition_builder/ruby_module.rb +68 -0
  48. data/lib/ruby-lint/definition_generator.rb +41 -15
  49. data/lib/ruby-lint/definitions/core/arg0.rb +1 -1
  50. data/lib/ruby-lint/definitions/core/argf.rb +1 -1
  51. data/lib/ruby-lint/definitions/core/argument_error.rb +2 -2
  52. data/lib/ruby-lint/definitions/core/argv.rb +1 -1
  53. data/lib/ruby-lint/definitions/core/array.rb +6 -6
  54. data/lib/ruby-lint/definitions/core/autoload.rb +2 -2
  55. data/lib/ruby-lint/definitions/core/basic_object.rb +3 -3
  56. data/lib/ruby-lint/definitions/core/bignum.rb +2 -2
  57. data/lib/ruby-lint/definitions/core/binding.rb +2 -2
  58. data/lib/ruby-lint/definitions/core/class.rb +2 -2
  59. data/lib/ruby-lint/definitions/core/comparable.rb +1 -1
  60. data/lib/ruby-lint/definitions/core/complex.rb +4 -4
  61. data/lib/ruby-lint/definitions/core/condition_variable.rb +2 -2
  62. data/lib/ruby-lint/definitions/core/continuation.rb +2 -2
  63. data/lib/ruby-lint/definitions/core/data.rb +2 -2
  64. data/lib/ruby-lint/definitions/core/date.rb +34 -34
  65. data/lib/ruby-lint/definitions/core/date_time.rb +26 -26
  66. data/lib/ruby-lint/definitions/core/default_record_separator.rb +1 -1
  67. data/lib/ruby-lint/definitions/core/digest.rb +14 -14
  68. data/lib/ruby-lint/definitions/core/dir.rb +34 -34
  69. data/lib/ruby-lint/definitions/core/encoding.rb +237 -237
  70. data/lib/ruby-lint/definitions/core/encoding_error.rb +2 -2
  71. data/lib/ruby-lint/definitions/core/enumerable.rb +15 -15
  72. data/lib/ruby-lint/definitions/core/enumerator.rb +2 -2
  73. data/lib/ruby-lint/definitions/core/env.rb +1 -1
  74. data/lib/ruby-lint/definitions/core/eoferror.rb +2 -2
  75. data/lib/ruby-lint/definitions/core/erb.rb +22 -22
  76. data/lib/ruby-lint/definitions/core/errno.rb +525 -525
  77. data/lib/ruby-lint/definitions/core/etc.rb +6 -6
  78. data/lib/ruby-lint/definitions/core/exception.rb +2 -2
  79. data/lib/ruby-lint/definitions/core/false.rb +1 -1
  80. data/lib/ruby-lint/definitions/core/false_class.rb +2 -2
  81. data/lib/ruby-lint/definitions/core/fatal_error.rb +2 -2
  82. data/lib/ruby-lint/definitions/core/fiber.rb +2 -2
  83. data/lib/ruby-lint/definitions/core/fiber_error.rb +2 -2
  84. data/lib/ruby-lint/definitions/core/file.rb +68 -68
  85. data/lib/ruby-lint/definitions/core/file_list.rb +2 -2
  86. data/lib/ruby-lint/definitions/core/file_test.rb +1 -1
  87. data/lib/ruby-lint/definitions/core/file_utils.rb +16 -16
  88. data/lib/ruby-lint/definitions/core/fixnum.rb +4 -4
  89. data/lib/ruby-lint/definitions/core/float.rb +16 -16
  90. data/lib/ruby-lint/definitions/core/float_domain_error.rb +2 -2
  91. data/lib/ruby-lint/definitions/core/gc.rb +2 -2
  92. data/lib/ruby-lint/definitions/core/gem.rb +119 -119
  93. data/lib/ruby-lint/definitions/core/hash.rb +14 -14
  94. data/lib/ruby-lint/definitions/core/immediate_value.rb +1 -1
  95. data/lib/ruby-lint/definitions/core/index_error.rb +2 -2
  96. data/lib/ruby-lint/definitions/core/integer.rb +2 -2
  97. data/lib/ruby-lint/definitions/core/interrupt.rb +2 -2
  98. data/lib/ruby-lint/definitions/core/io.rb +38 -38
  99. data/lib/ruby-lint/definitions/core/ioerror.rb +2 -2
  100. data/lib/ruby-lint/definitions/core/kernel.rb +3 -3
  101. data/lib/ruby-lint/definitions/core/key_error.rb +2 -2
  102. data/lib/ruby-lint/definitions/core/load_error.rb +6 -6
  103. data/lib/ruby-lint/definitions/core/local_jump_error.rb +2 -2
  104. data/lib/ruby-lint/definitions/core/main.rb +1 -1
  105. data/lib/ruby-lint/definitions/core/marshal.rb +35 -35
  106. data/lib/ruby-lint/definitions/core/match_data.rb +2 -2
  107. data/lib/ruby-lint/definitions/core/math.rb +7 -7
  108. data/lib/ruby-lint/definitions/core/memory_segmention_error.rb +2 -2
  109. data/lib/ruby-lint/definitions/core/method.rb +2 -2
  110. data/lib/ruby-lint/definitions/core/module.rb +1 -1
  111. data/lib/ruby-lint/definitions/core/monitor.rb +4 -4
  112. data/lib/ruby-lint/definitions/core/monitor_mixin.rb +5 -5
  113. data/lib/ruby-lint/definitions/core/mutex.rb +2 -2
  114. data/lib/ruby-lint/definitions/core/name_error.rb +2 -2
  115. data/lib/ruby-lint/definitions/core/nil.rb +1 -1
  116. data/lib/ruby-lint/definitions/core/nil_class.rb +2 -2
  117. data/lib/ruby-lint/definitions/core/no_memory_error.rb +2 -2
  118. data/lib/ruby-lint/definitions/core/no_method_error.rb +2 -2
  119. data/lib/ruby-lint/definitions/core/not_implemented_error.rb +2 -2
  120. data/lib/ruby-lint/definitions/core/numeric.rb +2 -2
  121. data/lib/ruby-lint/definitions/core/object.rb +2 -2
  122. data/lib/ruby-lint/definitions/core/object_space.rb +1 -1
  123. data/lib/ruby-lint/definitions/core/open_struct.rb +3 -3
  124. data/lib/ruby-lint/definitions/core/option_parser.rb +83 -83
  125. data/lib/ruby-lint/definitions/core/precision.rb +1 -1
  126. data/lib/ruby-lint/definitions/core/primitive_failure.rb +2 -2
  127. data/lib/ruby-lint/definitions/core/proc.rb +2 -2
  128. data/lib/ruby-lint/definitions/core/process.rb +29 -29
  129. data/lib/ruby-lint/definitions/core/psych.rb +149 -149
  130. data/lib/ruby-lint/definitions/core/queue.rb +2 -2
  131. data/lib/ruby-lint/definitions/core/rake.rb +117 -117
  132. data/lib/ruby-lint/definitions/core/rake_file_utils.rb +1 -1
  133. data/lib/ruby-lint/definitions/core/rakeversion.rb +1 -1
  134. data/lib/ruby-lint/definitions/core/random.rb +2 -2
  135. data/lib/ruby-lint/definitions/core/range.rb +4 -4
  136. data/lib/ruby-lint/definitions/core/range_error.rb +2 -2
  137. data/lib/ruby-lint/definitions/core/rational.rb +2 -2
  138. data/lib/ruby-lint/definitions/core/rb_config.rb +3 -3
  139. data/lib/ruby-lint/definitions/core/regexp.rb +28 -28
  140. data/lib/ruby-lint/definitions/core/regexp_error.rb +2 -2
  141. data/lib/ruby-lint/definitions/core/rubinius.rb +1057 -1057
  142. data/lib/ruby-lint/definitions/core/ruby_copyright.rb +1 -1
  143. data/lib/ruby-lint/definitions/core/ruby_description.rb +1 -1
  144. data/lib/ruby-lint/definitions/core/ruby_engine.rb +1 -1
  145. data/lib/ruby-lint/definitions/core/ruby_lint.rb +9 -9
  146. data/lib/ruby-lint/definitions/core/ruby_patchlevel.rb +1 -1
  147. data/lib/ruby-lint/definitions/core/ruby_platform.rb +1 -1
  148. data/lib/ruby-lint/definitions/core/ruby_release_date.rb +1 -1
  149. data/lib/ruby-lint/definitions/core/ruby_version.rb +1 -1
  150. data/lib/ruby-lint/definitions/core/runtime_error.rb +2 -2
  151. data/lib/ruby-lint/definitions/core/scan_error.rb +2 -2
  152. data/lib/ruby-lint/definitions/core/script_error.rb +2 -2
  153. data/lib/ruby-lint/definitions/core/security_error.rb +2 -2
  154. data/lib/ruby-lint/definitions/core/shellwords.rb +1 -1
  155. data/lib/ruby-lint/definitions/core/signal.rb +3 -3
  156. data/lib/ruby-lint/definitions/core/signal_exception.rb +2 -2
  157. data/lib/ruby-lint/definitions/core/singleton.rb +2 -2
  158. data/lib/ruby-lint/definitions/core/sized_queue.rb +2 -2
  159. data/lib/ruby-lint/definitions/core/standard_error.rb +2 -2
  160. data/lib/ruby-lint/definitions/core/stderr.rb +1 -1
  161. data/lib/ruby-lint/definitions/core/stdin.rb +1 -1
  162. data/lib/ruby-lint/definitions/core/stdout.rb +1 -1
  163. data/lib/ruby-lint/definitions/core/stop_iteration.rb +2 -2
  164. data/lib/ruby-lint/definitions/core/string.rb +21 -21
  165. data/lib/ruby-lint/definitions/core/string_io.rb +7 -7
  166. data/lib/ruby-lint/definitions/core/string_scanner.rb +4 -4
  167. data/lib/ruby-lint/definitions/core/struct.rb +20 -20
  168. data/lib/ruby-lint/definitions/core/syck.rb +4 -4
  169. data/lib/ruby-lint/definitions/core/symbol.rb +2 -2
  170. data/lib/ruby-lint/definitions/core/syntax_error.rb +2 -2
  171. data/lib/ruby-lint/definitions/core/system_call_error.rb +2 -2
  172. data/lib/ruby-lint/definitions/core/system_exit.rb +2 -2
  173. data/lib/ruby-lint/definitions/core/system_stack_error.rb +2 -2
  174. data/lib/ruby-lint/definitions/core/thread.rb +6 -6
  175. data/lib/ruby-lint/definitions/core/thread_error.rb +2 -2
  176. data/lib/ruby-lint/definitions/core/thread_group.rb +2 -2
  177. data/lib/ruby-lint/definitions/core/time.rb +3 -3
  178. data/lib/ruby-lint/definitions/core/toplevel_binding.rb +1 -1
  179. data/lib/ruby-lint/definitions/core/true.rb +1 -1
  180. data/lib/ruby-lint/definitions/core/true_class.rb +2 -2
  181. data/lib/ruby-lint/definitions/core/type_error.rb +2 -2
  182. data/lib/ruby-lint/definitions/core/unbound_method.rb +2 -2
  183. data/lib/ruby-lint/definitions/core/unmarshalable.rb +1 -1
  184. data/lib/ruby-lint/definitions/core/unsupported_library_error.rb +2 -2
  185. data/lib/ruby-lint/definitions/core/weak_ref.rb +4 -4
  186. data/lib/ruby-lint/definitions/core/zero_division_error.rb +2 -2
  187. data/lib/ruby-lint/definitions/rails.rb +12 -0
  188. data/lib/ruby-lint/definitions/rails/abstract_controller.rb +335 -0
  189. data/lib/ruby-lint/definitions/rails/action_controller.rb +1244 -0
  190. data/lib/ruby-lint/definitions/rails/action_dispatch.rb +741 -0
  191. data/lib/ruby-lint/definitions/rails/action_mailer.rb +502 -0
  192. data/lib/ruby-lint/definitions/rails/action_pack.rb +16 -0
  193. data/lib/ruby-lint/definitions/rails/action_view.rb +898 -0
  194. data/lib/ruby-lint/definitions/rails/active_model.rb +437 -0
  195. data/lib/ruby-lint/definitions/rails/active_record.rb +2901 -0
  196. data/lib/ruby-lint/definitions/rails/active_support.rb +1963 -0
  197. data/lib/ruby-lint/definitions/rails/arel.rb +665 -0
  198. data/lib/ruby-lint/definitions/rails/rails.rb +452 -0
  199. data/lib/ruby-lint/definitions/rails/sprockets.rb +968 -0
  200. data/lib/ruby-lint/generated_constant.rb +33 -0
  201. data/lib/ruby-lint/helper/constant_paths.rb +30 -21
  202. data/lib/ruby-lint/inspector.rb +20 -2
  203. data/lib/ruby-lint/iterator.rb +11 -171
  204. data/lib/ruby-lint/nested_stack.rb +46 -0
  205. data/lib/ruby-lint/parser.rb +24 -806
  206. data/lib/ruby-lint/report.rb +2 -30
  207. data/lib/ruby-lint/report/entry.rb +2 -2
  208. data/lib/ruby-lint/runner.rb +81 -0
  209. data/lib/ruby-lint/template/definition.erb +12 -8
  210. data/lib/ruby-lint/variable_predicates.rb +16 -58
  211. data/lib/ruby-lint/version.rb +1 -1
  212. data/lib/ruby-lint/virtual_machine.rb +1044 -0
  213. data/ruby-lint.gemspec +17 -7
  214. data/spec/fixtures/complex/rails/basic_controller.rb +9 -0
  215. data/spec/fixtures/complex/rcap.rb +38 -0
  216. data/spec/fixtures/complex/slop.rb +680 -0
  217. data/spec/fixtures/config.yml +8 -0
  218. data/spec/fixtures/invalid.rb +3 -0
  219. data/spec/fixtures/invalid_2.rb +3 -0
  220. data/spec/fixtures/syntax_error.rb +1 -0
  221. data/spec/fixtures/valid.rb +3 -0
  222. data/spec/helper.rb +6 -0
  223. data/spec/ruby-lint/{analyze → analysis}/argument_amount.rb +7 -7
  224. data/spec/ruby-lint/analysis/confusing_variables.rb +46 -0
  225. data/spec/ruby-lint/analysis/pedantics.rb +43 -0
  226. data/spec/ruby-lint/{analyze → analysis}/shadowing_variables.rb +5 -5
  227. data/spec/ruby-lint/{analyze → analysis}/undefined_methods.rb +18 -18
  228. data/spec/ruby-lint/{analyze → analysis}/undefined_variables.rb +19 -25
  229. data/spec/ruby-lint/{analyze → analysis}/unused_variables.rb +29 -16
  230. data/spec/ruby-lint/ast/node.rb +33 -0
  231. data/spec/ruby-lint/cli/analyze.rb +31 -0
  232. data/spec/ruby-lint/cli/ast.rb +23 -0
  233. data/spec/ruby-lint/configuration.rb +45 -6
  234. data/spec/ruby-lint/definition/constant_proxy.rb +31 -0
  235. data/spec/ruby-lint/definition/dsl.rb +13 -20
  236. data/spec/ruby-lint/definition/ruby_method.rb +65 -148
  237. data/spec/ruby-lint/definition/ruby_object.rb +60 -96
  238. data/spec/ruby-lint/definition_builder/primitive.rb +62 -0
  239. data/spec/ruby-lint/definition_builder/ruby_class.rb +108 -0
  240. data/spec/ruby-lint/definition_builder/ruby_method.rb +53 -0
  241. data/spec/ruby-lint/definition_builder/ruby_module.rb +50 -0
  242. data/spec/ruby-lint/iterator.rb +40 -16
  243. data/spec/ruby-lint/nested_stack.rb +23 -0
  244. data/spec/ruby-lint/parser.rb +14 -0
  245. data/spec/ruby-lint/report.rb +0 -10
  246. data/spec/ruby-lint/report/entry.rb +8 -4
  247. data/spec/ruby-lint/runner.rb +32 -0
  248. data/spec/ruby-lint/virtual_machine/assignments/arrays.rb +87 -0
  249. data/spec/ruby-lint/virtual_machine/assignments/hashes.rb +52 -0
  250. data/spec/ruby-lint/virtual_machine/assignments/optional.rb +41 -0
  251. data/spec/ruby-lint/{definitions_builder → virtual_machine}/assignments/return_values.rb +11 -11
  252. data/spec/ruby-lint/virtual_machine/assignments/variables.rb +85 -0
  253. data/spec/ruby-lint/virtual_machine/associate_nodes.rb +17 -0
  254. data/spec/ruby-lint/virtual_machine/autoloading.rb +31 -0
  255. data/spec/ruby-lint/virtual_machine/blocks.rb +64 -0
  256. data/spec/ruby-lint/virtual_machine/classes/class_methods.rb +21 -0
  257. data/spec/ruby-lint/virtual_machine/classes/extending.rb +104 -0
  258. data/spec/ruby-lint/virtual_machine/classes/redefining.rb +24 -0
  259. data/spec/ruby-lint/virtual_machine/classes/sclass.rb +94 -0
  260. data/spec/ruby-lint/virtual_machine/classes/scoping.rb +60 -0
  261. data/spec/ruby-lint/virtual_machine/complex/rails.rb +18 -0
  262. data/spec/ruby-lint/virtual_machine/complex/rcap.rb +15 -0
  263. data/spec/ruby-lint/virtual_machine/complex/slop.rb +16 -0
  264. data/spec/ruby-lint/{definitions_builder → virtual_machine}/for.rb +2 -2
  265. data/spec/ruby-lint/virtual_machine/freeze.rb +13 -0
  266. data/spec/ruby-lint/virtual_machine/interpolation.rb +12 -0
  267. data/spec/ruby-lint/virtual_machine/methods/defining.rb +40 -0
  268. data/spec/ruby-lint/virtual_machine/methods/exporting.rb +19 -0
  269. data/spec/ruby-lint/virtual_machine/methods/parameters.rb +77 -0
  270. data/spec/ruby-lint/virtual_machine/methods/patching.rb +26 -0
  271. data/spec/ruby-lint/virtual_machine/methods/scoping.rb +63 -0
  272. data/spec/ruby-lint/virtual_machine/methods/visibility.rb +64 -0
  273. data/spec/ruby-lint/{definitions_builder → virtual_machine}/modules.rb +16 -16
  274. data/spec/ruby-lint/virtual_machine/reference_amount.rb +33 -0
  275. data/spec/ruby-lint/virtual_machine/unused.rb +17 -0
  276. data/spec/support/bacon.rb +13 -13
  277. data/spec/support/building.rb +23 -16
  278. data/spec/support/coveralls.rb +5 -0
  279. data/spec/support/fixtures.rb +20 -0
  280. data/spec/support/parsing.rb +3 -5
  281. data/spec/support/simplecov.rb +5 -3
  282. data/task/build.rake +1 -1
  283. data/task/cop.rake +11 -0
  284. data/task/generate.rake +40 -2
  285. data/task/profile.rake +27 -0
  286. data/task/todo.rake +6 -0
  287. data/task/travis.rake +7 -0
  288. metadata +160 -75
  289. metadata.gz.asc +14 -14
  290. data/doc/build/.gitkeep +0 -0
  291. data/lib/ruby-lint/analyze/argument_amount.rb +0 -73
  292. data/lib/ruby-lint/analyze/shadowing_variables.rb +0 -32
  293. data/lib/ruby-lint/analyze/undefined_methods.rb +0 -68
  294. data/lib/ruby-lint/analyze/undefined_variables.rb +0 -72
  295. data/lib/ruby-lint/analyze/unused_variables.rb +0 -48
  296. data/lib/ruby-lint/base.rb +0 -85
  297. data/lib/ruby-lint/definitions_builder.rb +0 -692
  298. data/lib/ruby-lint/helper/conversion.rb +0 -33
  299. data/lib/ruby-lint/helper/current_scope.rb +0 -98
  300. data/lib/ruby-lint/helper/methods.rb +0 -91
  301. data/lib/ruby-lint/node.rb +0 -107
  302. data/lib/ruby-lint/parser_error.rb +0 -30
  303. data/spec/ruby-lint/constant_loader.rb +0 -32
  304. data/spec/ruby-lint/definition/method_calls.rb +0 -26
  305. data/spec/ruby-lint/definitions_builder/assignments/arrays.rb +0 -71
  306. data/spec/ruby-lint/definitions_builder/assignments/hashes.rb +0 -65
  307. data/spec/ruby-lint/definitions_builder/assignments/objects.rb +0 -23
  308. data/spec/ruby-lint/definitions_builder/assignments/optional.rb +0 -22
  309. data/spec/ruby-lint/definitions_builder/assignments/variables.rb +0 -71
  310. data/spec/ruby-lint/definitions_builder/associate_nodes.rb +0 -17
  311. data/spec/ruby-lint/definitions_builder/blocks.rb +0 -40
  312. data/spec/ruby-lint/definitions_builder/classes.rb +0 -230
  313. data/spec/ruby-lint/definitions_builder/methods.rb +0 -147
  314. data/spec/ruby-lint/definitions_builder/reference_amount.rb +0 -31
  315. data/spec/ruby-lint/definitions_builder/unused.rb +0 -15
  316. data/spec/ruby-lint/node.rb +0 -38
  317. data/spec/ruby-lint/parser/assignments.rb +0 -225
  318. data/spec/ruby-lint/parser/classes.rb +0 -110
  319. data/spec/ruby-lint/parser/errors.rb +0 -12
  320. data/spec/ruby-lint/parser/metadata.rb +0 -17
  321. data/spec/ruby-lint/parser/method_definitions.rb +0 -111
  322. data/spec/ruby-lint/parser/methods.rb +0 -217
  323. data/spec/ruby-lint/parser/modules.rb +0 -70
  324. data/spec/ruby-lint/parser/operators.rb +0 -40
  325. data/spec/ruby-lint/parser/statements/begin.rb +0 -55
  326. data/spec/ruby-lint/parser/statements/case.rb +0 -34
  327. data/spec/ruby-lint/parser/statements/defined.rb +0 -11
  328. data/spec/ruby-lint/parser/statements/for.rb +0 -34
  329. data/spec/ruby-lint/parser/statements/if.rb +0 -46
  330. data/spec/ruby-lint/parser/statements/return.rb +0 -14
  331. data/spec/ruby-lint/parser/statements/super.rb +0 -49
  332. data/spec/ruby-lint/parser/statements/unless.rb +0 -42
  333. data/spec/ruby-lint/parser/statements/until.rb +0 -25
  334. data/spec/ruby-lint/parser/statements/while.rb +0 -25
  335. data/spec/ruby-lint/parser/statements/yield.rb +0 -18
  336. data/spec/ruby-lint/parser/types/arrays.rb +0 -47
  337. data/spec/ruby-lint/parser/types/booleans.rb +0 -11
  338. data/spec/ruby-lint/parser/types/constants.rb +0 -32
  339. data/spec/ruby-lint/parser/types/hashes.rb +0 -55
  340. data/spec/ruby-lint/parser/types/nil.rb +0 -7
  341. data/spec/ruby-lint/parser/types/numbers.rb +0 -11
  342. data/spec/ruby-lint/parser/types/procs.rb +0 -11
  343. data/spec/ruby-lint/parser/types/ranges.rb +0 -11
  344. data/spec/ruby-lint/parser/types/regexp.rb +0 -27
  345. data/spec/ruby-lint/parser/types/strings.rb +0 -44
  346. data/spec/ruby-lint/parser/types/symbols.rb +0 -15
  347. data/task/stdlib.rake +0 -23
data.tar.gz.asc CHANGED
@@ -1,17 +1,17 @@
1
1
  -----BEGIN PGP SIGNATURE-----
2
- Version: GnuPG v2.0.19 (GNU/Linux)
2
+ Version: GnuPG v2.0.20 (GNU/Linux)
3
3
 
4
- iQIcBAABAgAGBQJRdZvaAAoJEPMbESk2SfREdKYQAJQ2anToVom5wnIc/3ujvS4j
5
- EH4gzq+geMPJ4ZtqmVH+AVmNotQZ6tCYzWyMfQPb4QWCu1uTvVqmg0WNbMCwCGyJ
6
- aNmUiZTzN7Nit2vytiyFOUK+Y2KyDrLtqeKXkiCpOmb6MbMfQVSQg74QpOuf6O2H
7
- ND2mZvgBHfsMM1rBxHNnHrvkTMF0yjq7v83j6N1K2NmzOIDm5zpQUlA41G5oTQxp
8
- TWN163GuSVzzaOEuyLOIg10j9M34slFaumbTzQsF1cfrf/VXx8dldQ1ljeFggGLP
9
- nY1OrrCIKnc5cNv+NpBTtxMEDT49k2gO1T3bTVIqhuiMY30tGLlpNTev59OCM7iX
10
- m974eVth4XS2jCO9MoQRs7q4twz9NmtUOhQG/q5GqqLPD8BBmOw87I0cJsrONzD+
11
- dKIubK7RqZ4z1MLdgE9t0PZ18WturcCKxzxMuyC37x/a2Cx3ciE76EKVfQyo6kT1
12
- aHXtHogGIVNNUAtjY+EbetZmMkYE5YmuHr+3dDbrGYgN+tf+P7puB96smcGO54NE
13
- /x/cHtpYqWbpU0BUCT5SIQU19hnNaoodUoVycnkXlhb5OYg1k36Z+1xK92X9jKQf
14
- 2jZlez4OAbF7AyUjR3AwM1M/d9nG9VpBStvaNARzksuCRuEGjvTqLnXEkjgZG+X2
15
- 8hG6fF3zrf9uAT9GevoM
16
- =TlVu
4
+ iQIcBAABAgAGBQJR4u6hAAoJEPMbESk2SfRE/0QP/jiSRO1AUCukksezr8vE3Z6u
5
+ EvMyuP2IuhCtTwpJkfRvDONw+uJCWEigcpjce7vxLKmGLVCZRGYc3/Y3i49XBi2K
6
+ qfhjIwVdFUolvzRum7C4EMo+ap1ogn9ah8wFSxqYu/t0VC0QzETlpTa5w7PnmfDg
7
+ oNYtJ/aVBO/5CV+balf9w3pnvdBhBgytioWiWDJ7i9Q+5Ww6jTxi0SbKEnBAlJ65
8
+ aUKdtVSVK+KUO5qlVjSDxyI6x0egnFy8GQt3wiQk52gTxcipc+XZio+K8E9je27C
9
+ IlFk/70Th9VrBSnjpRYntKuvpZ72vF5c8U0kHhAlwsjm5l6vFT01BpFjTv22PTA1
10
+ teRL6gHjlffevdqNloceVdTPREHBGKyCApK1DMbAuWhVr9oQjM3UgtkG1ETZ1SdJ
11
+ xe/DpDIDOIuPn+hWqGslfTVM4bAtf/6sIIhSW2vaQBdPt4xBwrPjP9emKdCJYWjL
12
+ KD/fZJewKzx+QGFiMrRsbWAppd81GRVq84kulSvEX9tuOeh0JxHF78ukh+9RzoC6
13
+ kDUS2CKP2BQLltvSUMjPAk4fTuZ9+/GL0KmDCh3VtccYj4pwgM3x1xCjd+BdUa0R
14
+ 5Bk/JZtdyGlsEChOzIHlouRD5jyr64nit84H+De89a1SQMlQqS2eUKyZHPsYLcK0
15
+ ASoNtVw0Ap0sXRefY46L
16
+ =TBZF
17
17
  -----END PGP SIGNATURE-----
data/.gitignore CHANGED
@@ -1,5 +1,4 @@
1
- doc/build/*
2
- !doc/build/.gitkeep
1
+ yardoc
3
2
  coverage
4
3
 
5
4
  pkg
data/.rubocop.yml ADDED
@@ -0,0 +1,59 @@
1
+ ---
2
+ AllCops:
3
+ Excludes:
4
+ - lib/ruby-lint/definitions/*
5
+
6
+
7
+ # The Ruby 1.9 Hash syntax is meh. It doesn't work for String based keys and
8
+ # you can't align the keys/values nicely.
9
+ HashSyntax:
10
+ Enabled: false
11
+
12
+ LineLength:
13
+ Max: 79
14
+
15
+ MethodLength:
16
+ Max: 30
17
+
18
+ # Doesn't make code much more readable when dealing with short Hashes. Big ones
19
+ # are wrapped onto multiple lines anyway.
20
+ SpaceInsideHashLiteralBraces:
21
+ Enabled: false
22
+
23
+ # The usage of and/or is fine in most cases except when for example trying to
24
+ # return a boolean value based on multiple conditions (e.g. `return foo &&
25
+ # bar`).
26
+ AndOr:
27
+ Enabled: false
28
+
29
+ # This doesn't take line length into account and as such is more often than not
30
+ # flat out wrong.
31
+ IfUnlessModifier:
32
+ Enabled: false
33
+
34
+ # Results in a false positive when using an instance variable that doesn't
35
+ # match the method name.
36
+ TrivialAccessors:
37
+ Enabled: false
38
+
39
+ # I have no idea why this would even be required. The encoding comment is only
40
+ # needed if you're actually dealing with UTF-8 source code.
41
+ Encoding:
42
+ Enabled: false
43
+
44
+ FavorSprintf:
45
+ Enabled: false
46
+
47
+ # Doesn't take load order into account so ignore it (for now).
48
+ Documentation:
49
+ Enabled: false
50
+
51
+ EndAlignment:
52
+ Enabled: false
53
+
54
+ # This doesn't do well with my line-wrapping style.
55
+ AlignParameters:
56
+ Enabled: false
57
+
58
+ LineContinuation:
59
+ Enabled: false
data/.travis.yml CHANGED
@@ -1,15 +1,11 @@
1
1
  ---
2
- script: rake
2
+ script: rake travis
3
3
 
4
4
  rvm:
5
5
  - 1.9.3
6
6
  - 2.0.0
7
- - jruby-head
8
-
9
- matrix:
10
- allow_failures:
11
- - rvm: 2.0.0
12
- - rvm: jruby-head
7
+ - rbx-19mode
8
+ - jruby-19mode
13
9
 
14
10
  notifications:
15
11
  email:
data/.yardopts CHANGED
@@ -1,7 +1,7 @@
1
1
  ./lib/ruby-lint/**/*.rb ./lib/ruby-lint.rb
2
2
  -m markdown
3
- -M redcarpet
4
- -o ./doc/build
3
+ -M kramdown
4
+ -o yardoc
5
5
  -r ./README.md
6
6
  --private
7
7
  --protected
data/Gemfile CHANGED
@@ -1,3 +1,7 @@
1
1
  source 'https://rubygems.org/'
2
2
 
3
3
  gemspec
4
+
5
+ group :profile do
6
+ gem 'ruby-prof', :platforms => :mri
7
+ end
data/MANIFEST CHANGED
@@ -1,4 +1,5 @@
1
1
  .gitignore
2
+ .rubocop.yml
2
3
  .travis.yml
3
4
  .yardopts
4
5
  Gemfile
@@ -8,10 +9,13 @@ README.md
8
9
  Rakefile
9
10
  bin/ruby-lint
10
11
  checksum/.gitkeep
12
+ checksum/ruby-lint-0.0.3.gem.sha512
13
+ debug/memory_usage.rb
14
+ debug/profile.rb
11
15
  doc/.gitkeep
12
16
  doc/DCO.md
13
17
  doc/architecture.md
14
- doc/build/.gitkeep
18
+ doc/changelog.md
15
19
  doc/code_analysis.md
16
20
  doc/configuration.md
17
21
  doc/contributing.md
@@ -21,20 +25,34 @@ doc/graphviz/flow.dot
21
25
  doc/images/.gitkeep
22
26
  doc/images/flow.png
23
27
  lib/ruby-lint.rb
24
- lib/ruby-lint/analyze/argument_amount.rb
25
- lib/ruby-lint/analyze/shadowing_variables.rb
26
- lib/ruby-lint/analyze/undefined_methods.rb
27
- lib/ruby-lint/analyze/undefined_variables.rb
28
- lib/ruby-lint/analyze/unused_variables.rb
29
- lib/ruby-lint/base.rb
28
+ lib/ruby-lint/analysis/argument_amount.rb
29
+ lib/ruby-lint/analysis/base.rb
30
+ lib/ruby-lint/analysis/confusing_variables.rb
31
+ lib/ruby-lint/analysis/pedantics.rb
32
+ lib/ruby-lint/analysis/shadowing_variables.rb
33
+ lib/ruby-lint/analysis/undefined_methods.rb
34
+ lib/ruby-lint/analysis/undefined_variables.rb
35
+ lib/ruby-lint/analysis/unused_variables.rb
36
+ lib/ruby-lint/ast/builder.rb
37
+ lib/ruby-lint/ast/node.rb
30
38
  lib/ruby-lint/cli.rb
31
39
  lib/ruby-lint/cli/analyze.rb
32
40
  lib/ruby-lint/cli/ast.rb
33
41
  lib/ruby-lint/cli/base.rb
34
42
  lib/ruby-lint/configuration.rb
35
43
  lib/ruby-lint/constant_loader.rb
44
+ lib/ruby-lint/default_names.rb
45
+ lib/ruby-lint/definition/constant_proxy.rb
36
46
  lib/ruby-lint/definition/ruby_method.rb
37
47
  lib/ruby-lint/definition/ruby_object.rb
48
+ lib/ruby-lint/definition_builder/base.rb
49
+ lib/ruby-lint/definition_builder/primitive.rb
50
+ lib/ruby-lint/definition_builder/ruby_array.rb
51
+ lib/ruby-lint/definition_builder/ruby_block.rb
52
+ lib/ruby-lint/definition_builder/ruby_class.rb
53
+ lib/ruby-lint/definition_builder/ruby_hash.rb
54
+ lib/ruby-lint/definition_builder/ruby_method.rb
55
+ lib/ruby-lint/definition_builder/ruby_module.rb
38
56
  lib/ruby-lint/definition_generator.rb
39
57
  lib/ruby-lint/definitions/core.rb
40
58
  lib/ruby-lint/definitions/core/arg0.rb
@@ -175,101 +193,119 @@ lib/ruby-lint/definitions/core/unmarshalable.rb
175
193
  lib/ruby-lint/definitions/core/unsupported_library_error.rb
176
194
  lib/ruby-lint/definitions/core/weak_ref.rb
177
195
  lib/ruby-lint/definitions/core/zero_division_error.rb
178
- lib/ruby-lint/definitions_builder.rb
196
+ lib/ruby-lint/definitions/rails.rb
197
+ lib/ruby-lint/definitions/rails/abstract_controller.rb
198
+ lib/ruby-lint/definitions/rails/action_controller.rb
199
+ lib/ruby-lint/definitions/rails/action_dispatch.rb
200
+ lib/ruby-lint/definitions/rails/action_mailer.rb
201
+ lib/ruby-lint/definitions/rails/action_pack.rb
202
+ lib/ruby-lint/definitions/rails/action_view.rb
203
+ lib/ruby-lint/definitions/rails/active_model.rb
204
+ lib/ruby-lint/definitions/rails/active_record.rb
205
+ lib/ruby-lint/definitions/rails/active_support.rb
206
+ lib/ruby-lint/definitions/rails/arel.rb
207
+ lib/ruby-lint/definitions/rails/rails.rb
208
+ lib/ruby-lint/definitions/rails/sprockets.rb
179
209
  lib/ruby-lint/extensions/string.rb
210
+ lib/ruby-lint/generated_constant.rb
180
211
  lib/ruby-lint/helper/constant_paths.rb
181
- lib/ruby-lint/helper/conversion.rb
182
- lib/ruby-lint/helper/current_scope.rb
183
- lib/ruby-lint/helper/methods.rb
184
212
  lib/ruby-lint/inspector.rb
185
213
  lib/ruby-lint/iterator.rb
186
- lib/ruby-lint/node.rb
214
+ lib/ruby-lint/nested_stack.rb
187
215
  lib/ruby-lint/parser.rb
188
- lib/ruby-lint/parser_error.rb
189
216
  lib/ruby-lint/presenter/json.rb
190
217
  lib/ruby-lint/presenter/text.rb
191
218
  lib/ruby-lint/report.rb
192
219
  lib/ruby-lint/report/entry.rb
220
+ lib/ruby-lint/runner.rb
193
221
  lib/ruby-lint/template/definition.erb
194
222
  lib/ruby-lint/template/scope.rb
195
223
  lib/ruby-lint/variable_predicates.rb
196
224
  lib/ruby-lint/version.rb
225
+ lib/ruby-lint/virtual_machine.rb
197
226
  ruby-lint.gemspec
227
+ spec/fixtures/complex/rails/basic_controller.rb
228
+ spec/fixtures/complex/rcap.rb
229
+ spec/fixtures/complex/slop.rb
230
+ spec/fixtures/config.yml
231
+ spec/fixtures/invalid.rb
232
+ spec/fixtures/invalid_2.rb
233
+ spec/fixtures/syntax_error.rb
234
+ spec/fixtures/valid.rb
198
235
  spec/helper.rb
199
- spec/ruby-lint/analyze/argument_amount.rb
200
- spec/ruby-lint/analyze/shadowing_variables.rb
201
- spec/ruby-lint/analyze/undefined_methods.rb
202
- spec/ruby-lint/analyze/undefined_variables.rb
203
- spec/ruby-lint/analyze/unused_variables.rb
236
+ spec/ruby-lint/analysis/argument_amount.rb
237
+ spec/ruby-lint/analysis/confusing_variables.rb
238
+ spec/ruby-lint/analysis/pedantics.rb
239
+ spec/ruby-lint/analysis/shadowing_variables.rb
240
+ spec/ruby-lint/analysis/undefined_methods.rb
241
+ spec/ruby-lint/analysis/undefined_variables.rb
242
+ spec/ruby-lint/analysis/unused_variables.rb
243
+ spec/ruby-lint/ast/node.rb
244
+ spec/ruby-lint/cli/analyze.rb
245
+ spec/ruby-lint/cli/ast.rb
204
246
  spec/ruby-lint/configuration.rb
205
- spec/ruby-lint/constant_loader.rb
247
+ spec/ruby-lint/definition/constant_proxy.rb
206
248
  spec/ruby-lint/definition/dsl.rb
207
- spec/ruby-lint/definition/method_calls.rb
208
249
  spec/ruby-lint/definition/ruby_method.rb
209
250
  spec/ruby-lint/definition/ruby_object.rb
210
- spec/ruby-lint/definitions_builder/assignments/arrays.rb
211
- spec/ruby-lint/definitions_builder/assignments/hashes.rb
212
- spec/ruby-lint/definitions_builder/assignments/objects.rb
213
- spec/ruby-lint/definitions_builder/assignments/optional.rb
214
- spec/ruby-lint/definitions_builder/assignments/return_values.rb
215
- spec/ruby-lint/definitions_builder/assignments/variables.rb
216
- spec/ruby-lint/definitions_builder/associate_nodes.rb
217
- spec/ruby-lint/definitions_builder/blocks.rb
218
- spec/ruby-lint/definitions_builder/classes.rb
219
- spec/ruby-lint/definitions_builder/for.rb
220
- spec/ruby-lint/definitions_builder/methods.rb
221
- spec/ruby-lint/definitions_builder/modules.rb
222
- spec/ruby-lint/definitions_builder/reference_amount.rb
223
- spec/ruby-lint/definitions_builder/unused.rb
251
+ spec/ruby-lint/definition_builder/primitive.rb
252
+ spec/ruby-lint/definition_builder/ruby_class.rb
253
+ spec/ruby-lint/definition_builder/ruby_method.rb
254
+ spec/ruby-lint/definition_builder/ruby_module.rb
224
255
  spec/ruby-lint/extensions/string.rb
225
256
  spec/ruby-lint/iterator.rb
226
- spec/ruby-lint/node.rb
227
- spec/ruby-lint/parser/assignments.rb
228
- spec/ruby-lint/parser/classes.rb
229
- spec/ruby-lint/parser/errors.rb
230
- spec/ruby-lint/parser/metadata.rb
231
- spec/ruby-lint/parser/method_definitions.rb
232
- spec/ruby-lint/parser/methods.rb
233
- spec/ruby-lint/parser/modules.rb
234
- spec/ruby-lint/parser/operators.rb
235
- spec/ruby-lint/parser/statements/begin.rb
236
- spec/ruby-lint/parser/statements/case.rb
237
- spec/ruby-lint/parser/statements/defined.rb
238
- spec/ruby-lint/parser/statements/for.rb
239
- spec/ruby-lint/parser/statements/if.rb
240
- spec/ruby-lint/parser/statements/return.rb
241
- spec/ruby-lint/parser/statements/super.rb
242
- spec/ruby-lint/parser/statements/unless.rb
243
- spec/ruby-lint/parser/statements/until.rb
244
- spec/ruby-lint/parser/statements/while.rb
245
- spec/ruby-lint/parser/statements/yield.rb
246
- spec/ruby-lint/parser/types/arrays.rb
247
- spec/ruby-lint/parser/types/booleans.rb
248
- spec/ruby-lint/parser/types/constants.rb
249
- spec/ruby-lint/parser/types/hashes.rb
250
- spec/ruby-lint/parser/types/nil.rb
251
- spec/ruby-lint/parser/types/numbers.rb
252
- spec/ruby-lint/parser/types/procs.rb
253
- spec/ruby-lint/parser/types/ranges.rb
254
- spec/ruby-lint/parser/types/regexp.rb
255
- spec/ruby-lint/parser/types/strings.rb
256
- spec/ruby-lint/parser/types/symbols.rb
257
+ spec/ruby-lint/nested_stack.rb
258
+ spec/ruby-lint/parser.rb
257
259
  spec/ruby-lint/presenter/json.rb
258
260
  spec/ruby-lint/presenter/text.rb
259
261
  spec/ruby-lint/report.rb
260
262
  spec/ruby-lint/report/entry.rb
263
+ spec/ruby-lint/runner.rb
264
+ spec/ruby-lint/virtual_machine/assignments/arrays.rb
265
+ spec/ruby-lint/virtual_machine/assignments/hashes.rb
266
+ spec/ruby-lint/virtual_machine/assignments/optional.rb
267
+ spec/ruby-lint/virtual_machine/assignments/return_values.rb
268
+ spec/ruby-lint/virtual_machine/assignments/variables.rb
269
+ spec/ruby-lint/virtual_machine/associate_nodes.rb
270
+ spec/ruby-lint/virtual_machine/autoloading.rb
271
+ spec/ruby-lint/virtual_machine/blocks.rb
272
+ spec/ruby-lint/virtual_machine/classes/class_methods.rb
273
+ spec/ruby-lint/virtual_machine/classes/extending.rb
274
+ spec/ruby-lint/virtual_machine/classes/redefining.rb
275
+ spec/ruby-lint/virtual_machine/classes/sclass.rb
276
+ spec/ruby-lint/virtual_machine/classes/scoping.rb
277
+ spec/ruby-lint/virtual_machine/complex/rails.rb
278
+ spec/ruby-lint/virtual_machine/complex/rcap.rb
279
+ spec/ruby-lint/virtual_machine/complex/slop.rb
280
+ spec/ruby-lint/virtual_machine/for.rb
281
+ spec/ruby-lint/virtual_machine/freeze.rb
282
+ spec/ruby-lint/virtual_machine/interpolation.rb
283
+ spec/ruby-lint/virtual_machine/methods/defining.rb
284
+ spec/ruby-lint/virtual_machine/methods/exporting.rb
285
+ spec/ruby-lint/virtual_machine/methods/parameters.rb
286
+ spec/ruby-lint/virtual_machine/methods/patching.rb
287
+ spec/ruby-lint/virtual_machine/methods/scoping.rb
288
+ spec/ruby-lint/virtual_machine/methods/visibility.rb
289
+ spec/ruby-lint/virtual_machine/modules.rb
290
+ spec/ruby-lint/virtual_machine/reference_amount.rb
291
+ spec/ruby-lint/virtual_machine/unused.rb
261
292
  spec/support/bacon.rb
262
293
  spec/support/building.rb
294
+ spec/support/coveralls.rb
263
295
  spec/support/definitions.rb
296
+ spec/support/fixtures.rb
264
297
  spec/support/parsing.rb
265
298
  spec/support/simplecov.rb
266
299
  task/build.rake
267
300
  task/checksum.rake
301
+ task/cop.rake
268
302
  task/coverage.rake
269
303
  task/doc.rake
270
304
  task/generate.rake
271
305
  task/graphviz.rake
272
306
  task/manifest.rake
273
- task/stdlib.rake
307
+ task/profile.rake
274
308
  task/tag.rake
275
- task/test.rake
309
+ task/test.rake
310
+ task/todo.rake
311
+ task/travis.rake
data/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # ruby-lint
2
2
 
3
+ [![Build Status](https://travis-ci.org/YorickPeterse/ruby-lint.png?branch=master)](https://travis-ci.org/YorickPeterse/ruby-lint)
4
+ [![Coverage Status](https://coveralls.io/repos/YorickPeterse/ruby-lint/badge.png?branch=develop)](https://coveralls.io/r/YorickPeterse/ruby-lint)
5
+ [![Code Climate](https://codeclimate.com/github/YorickPeterse/ruby-lint.png)](https://codeclimate.com/github/YorickPeterse/ruby-lint)
6
+
3
7
  ruby-lint is a linter and static code analysis tool for Ruby. It is inspired by
4
8
  similar tools such as jshint, flake8 and similar tools. ruby-lint primarily
5
9
  focuses on logic related errors such as the use of non existing variables
@@ -7,20 +11,23 @@ instead of focusing on semantics (e.g. the amount of characters per line).
7
11
 
8
12
  ## Requirements
9
13
 
10
- * Ruby (MRI) 1.9.3 or newer
14
+ * a Ruby implementation running 1.9 or newer
11
15
  * a Unix based Operating System
12
16
 
17
+ The following Ruby implementations/versions are officially supported:
18
+
19
+ * Ruby 1.9.3 or 2.0 and newer
20
+ * Rubinius head running in 1.9 mode
21
+ * Jruby head running in 1.8 mode
22
+
23
+ Ruby implementations running a 1.8 based version of Ruby are not supported.
24
+
13
25
  ## Installation
14
26
 
15
27
  The easiest way to install ruby-lint is to install it from RubyGems:
16
28
 
17
29
  $ gem install ruby-lint
18
30
 
19
- Alternatively you can install it from a RubyGems mirror that I run (updated
20
- daily and only mirrors a very small subset of RubyGems):
21
-
22
- $ gem install --source=http://rubygems.yorickpeterse.com/
23
-
24
31
  If you prefer to install (and build) ruby-lint from the source code you can do
25
32
  so as following:
26
33
 
@@ -62,17 +69,6 @@ you run the following:
62
69
 
63
70
  For more information specify either the `-h` or `--help` option.
64
71
 
65
- ## Compatibility
66
-
67
- For the time being ruby-lint only runs on MRI 1.9 due to its dependency on
68
- Ripper, a library that is not available on Rubinius, Jruby and other Ruby
69
- implementations.
70
-
71
- In the future I intend to move away from Ripper but when this happens depends
72
- on when I can find something that suits my needs. Most existing solutions, such
73
- as `ruby_parser` lack features that I require (such as storing column numbers
74
- of AST nodes), are either unmaintained or severely limited in what they can do.
75
-
76
72
  ## Documentation
77
73
 
78
74
  * {file:contributing Contributing}
@@ -80,20 +76,6 @@ of AST nodes), are either unmaintained or severely limited in what they can do.
80
76
  * {file:code\_analysis Code Analysis}
81
77
  * {file:configuration Configuration}
82
78
 
83
- Noteworthy constants:
84
-
85
- * {RubyLint::Node}
86
- * {RubyLint::Iterator}
87
- * {RubyLint::Report}
88
- * {RubyLint::Presenter::Text}
89
-
90
- Helper modules:
91
-
92
- * {RubyLint::Helper::ConstantPaths}
93
- * {RubyLint::Helper::Conversion}
94
- * {RubyLint::Helper::CurrentScope}
95
- * {RubyLint::Helper::Methods}
96
-
97
79
  ## License
98
80
 
99
81
  All source code in this repository is licensed under the MIT license unless