ruby-lint 0.0.3 → 0.0.4

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 (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