ruby-lint 1.0.3 → 1.1.0

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 (341) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +2 -5
  4. data/Gemfile +9 -4
  5. data/MANIFEST +32 -28
  6. data/README.md +18 -5
  7. data/Rakefile +7 -3
  8. data/checksum/ruby-lint-1.0.2.gem.sha512 +1 -0
  9. data/checksum/ruby-lint-1.0.3.gem.sha512 +1 -0
  10. data/doc/changelog.md +40 -0
  11. data/doc/definitions.md +182 -0
  12. data/gen/rails/constants.txt +12 -0
  13. data/gen/rails/requires.rb +2 -0
  14. data/gen/stdlib/constants.rb +30 -0
  15. data/gen/stdlib/constants.txt +214 -0
  16. data/gen/stdlib/requires.rb +64 -0
  17. data/lib/ruby-lint.rb +7 -14
  18. data/lib/ruby-lint/analysis/undefined_methods.rb +8 -1
  19. data/lib/ruby-lint/analysis/useless_equality_checks.rb +92 -0
  20. data/lib/ruby-lint/cli.rb +1 -2
  21. data/lib/ruby-lint/cli/analyze.rb +55 -26
  22. data/lib/ruby-lint/cli/cache.rb +60 -0
  23. data/lib/ruby-lint/configuration.rb +10 -4
  24. data/lib/ruby-lint/constant_loader.rb +75 -22
  25. data/lib/ruby-lint/definition/constant_proxy.rb +51 -3
  26. data/lib/ruby-lint/definition/registry.rb +126 -0
  27. data/lib/ruby-lint/definition/ruby_method.rb +0 -11
  28. data/lib/ruby-lint/definition/ruby_object.rb +32 -24
  29. data/lib/ruby-lint/definition_builder/base.rb +9 -12
  30. data/lib/ruby-lint/definition_builder/primitive.rb +1 -1
  31. data/lib/ruby-lint/definition_builder/ruby_array.rb +1 -1
  32. data/lib/ruby-lint/definition_builder/ruby_block.rb +3 -3
  33. data/lib/ruby-lint/definition_builder/ruby_class.rb +2 -2
  34. data/lib/ruby-lint/definition_builder/ruby_hash.rb +1 -1
  35. data/lib/ruby-lint/definition_builder/ruby_method.rb +1 -1
  36. data/lib/ruby-lint/definition_builder/ruby_module.rb +4 -4
  37. data/lib/ruby-lint/definition_generator.rb +12 -2
  38. data/lib/ruby-lint/definitions/core/abbrev.rb +8 -11
  39. data/lib/ruby-lint/definitions/core/argf.rb +9 -7
  40. data/lib/ruby-lint/definitions/core/argument_error.rb +8 -10
  41. data/lib/ruby-lint/definitions/core/argv.rb +9 -9
  42. data/lib/ruby-lint/definitions/core/array.rb +296 -534
  43. data/lib/ruby-lint/definitions/core/base64.rb +22 -25
  44. data/lib/ruby-lint/definitions/core/basic_object.rb +30 -30
  45. data/lib/ruby-lint/definitions/core/basic_socket.rb +341 -455
  46. data/lib/ruby-lint/definitions/core/benchmark.rb +157 -24
  47. data/lib/ruby-lint/definitions/core/bignum.rb +110 -95
  48. data/lib/ruby-lint/definitions/core/binding.rb +38 -35
  49. data/lib/ruby-lint/definitions/core/cgi.rb +333 -49
  50. data/lib/ruby-lint/definitions/core/class.rb +16 -16
  51. data/lib/ruby-lint/definitions/core/common_headers.rb +4 -548
  52. data/lib/ruby-lint/definitions/core/common_libs.rb +4 -421
  53. data/lib/ruby-lint/definitions/core/comparable.rb +28 -29
  54. data/lib/ruby-lint/definitions/core/complex.rb +103 -141
  55. data/lib/ruby-lint/definitions/core/condition_variable.rb +14 -14
  56. data/lib/ruby-lint/definitions/core/config.rb +4 -318
  57. data/lib/ruby-lint/definitions/core/conftest_c.rb +4 -548
  58. data/lib/ruby-lint/definitions/core/coutflag.rb +4 -548
  59. data/lib/ruby-lint/definitions/core/csv.rb +729 -329
  60. data/lib/ruby-lint/definitions/core/data.rb +9 -8
  61. data/lib/ruby-lint/definitions/core/date.rb +452 -526
  62. data/lib/ruby-lint/definitions/core/date_time.rb +234 -303
  63. data/lib/ruby-lint/definitions/core/delegator.rb +57 -48
  64. data/lib/ruby-lint/definitions/core/digest.rb +94 -115
  65. data/lib/ruby-lint/definitions/core/dir.rb +89 -459
  66. data/lib/ruby-lint/definitions/core/drb.rb +531 -36
  67. data/lib/ruby-lint/definitions/core/drb_id_conv.rb +10 -19
  68. data/lib/ruby-lint/definitions/core/drb_object.rb +53 -58
  69. data/lib/ruby-lint/definitions/core/drb_undumped.rb +7 -10
  70. data/lib/ruby-lint/definitions/core/encoding.rb +1026 -1718
  71. data/lib/ruby-lint/definitions/core/encoding_error.rb +9 -8
  72. data/lib/ruby-lint/definitions/core/enumerable.rb +123 -292
  73. data/lib/ruby-lint/definitions/core/enumerator.rb +28 -26
  74. data/lib/ruby-lint/definitions/core/env.rb +8 -9
  75. data/lib/ruby-lint/definitions/core/eoferror.rb +9 -8
  76. data/lib/ruby-lint/definitions/core/erb.rb +201 -226
  77. data/lib/ruby-lint/definitions/core/errno.rb +1593 -2917
  78. data/lib/ruby-lint/definitions/core/etc.rb +86 -107
  79. data/lib/ruby-lint/definitions/core/exception.rb +70 -50
  80. data/lib/ruby-lint/definitions/core/exception_for_matrix.rb +24 -37
  81. data/lib/ruby-lint/definitions/core/export_prefix.rb +4 -16
  82. data/lib/ruby-lint/definitions/core/failed_message.rb +4 -548
  83. data/lib/ruby-lint/definitions/core/false.rb +9 -7
  84. data/lib/ruby-lint/definitions/core/false_class.rb +40 -22
  85. data/lib/ruby-lint/definitions/core/fcntl.rb +120 -7
  86. data/lib/ruby-lint/definitions/core/fiber.rb +25 -26
  87. data/lib/ruby-lint/definitions/core/fiber_error.rb +9 -8
  88. data/lib/ruby-lint/definitions/core/file.rb +1119 -860
  89. data/lib/ruby-lint/definitions/core/file_test.rb +79 -80
  90. data/lib/ruby-lint/definitions/core/file_utils.rb +1203 -765
  91. data/lib/ruby-lint/definitions/core/find.rb +9 -12
  92. data/lib/ruby-lint/definitions/core/fixnum.rb +113 -663
  93. data/lib/ruby-lint/definitions/core/float.rb +171 -2755
  94. data/lib/ruby-lint/definitions/core/float_domain_error.rb +9 -8
  95. data/lib/ruby-lint/definitions/core/forwardable.rb +37 -30
  96. data/lib/ruby-lint/definitions/core/gc.rb +31 -38
  97. data/lib/ruby-lint/definitions/core/gem.rb +2324 -2183
  98. data/lib/ruby-lint/definitions/core/getopt_long.rb +107 -32
  99. data/lib/ruby-lint/definitions/core/gserver.rb +61 -61
  100. data/lib/ruby-lint/definitions/core/hash.rb +354 -1172
  101. data/lib/ruby-lint/definitions/core/hdr_ext.rb +4 -421
  102. data/lib/ruby-lint/definitions/core/index_error.rb +9 -8
  103. data/lib/ruby-lint/definitions/core/install_dirs.rb +4 -421
  104. data/lib/ruby-lint/definitions/core/integer.rb +93 -67
  105. data/lib/ruby-lint/definitions/core/interrupt.rb +11 -11
  106. data/lib/ruby-lint/definitions/core/io.rb +574 -673
  107. data/lib/ruby-lint/definitions/core/ioerror.rb +9 -8
  108. data/lib/ruby-lint/definitions/core/ipaddr.rb +115 -90
  109. data/lib/ruby-lint/definitions/core/ipsocket.rb +301 -472
  110. data/lib/ruby-lint/definitions/core/irb.rb +1206 -34
  111. data/lib/ruby-lint/definitions/core/json.rb +483 -74
  112. data/lib/ruby-lint/definitions/core/kconv.rb +88 -36
  113. data/lib/ruby-lint/definitions/core/kernel.rb +408 -412
  114. data/lib/ruby-lint/definitions/core/key_error.rb +9 -8
  115. data/lib/ruby-lint/definitions/core/libarg.rb +4 -548
  116. data/lib/ruby-lint/definitions/core/libpathflag.rb +4 -548
  117. data/lib/ruby-lint/definitions/core/link_so.rb +4 -548
  118. data/lib/ruby-lint/definitions/core/load_error.rb +24 -25
  119. data/lib/ruby-lint/definitions/core/local_jump_error.rb +9 -8
  120. data/lib/ruby-lint/definitions/core/logger.rb +294 -61
  121. data/lib/ruby-lint/definitions/core/logging.rb +17 -20
  122. data/lib/ruby-lint/definitions/core/make_makefile.rb +548 -384
  123. data/lib/ruby-lint/definitions/core/marshal.rb +260 -358
  124. data/lib/ruby-lint/definitions/core/match_data.rb +51 -48
  125. data/lib/ruby-lint/definitions/core/math.rb +170 -178
  126. data/lib/ruby-lint/definitions/core/matrix.rb +354 -297
  127. data/lib/ruby-lint/definitions/core/method.rb +41 -42
  128. data/lib/ruby-lint/definitions/core/module.rb +219 -223
  129. data/lib/ruby-lint/definitions/core/monitor.rb +26 -28
  130. data/lib/ruby-lint/definitions/core/monitor_mixin.rb +36 -42
  131. data/lib/ruby-lint/definitions/core/mutex.rb +20 -22
  132. data/lib/ruby-lint/definitions/core/mutex_m.rb +24 -27
  133. data/lib/ruby-lint/definitions/core/name_error.rb +13 -13
  134. data/lib/ruby-lint/definitions/core/nil.rb +9 -7
  135. data/lib/ruby-lint/definitions/core/nil_class.rb +47 -31
  136. data/lib/ruby-lint/definitions/core/nkf.rb +76 -9
  137. data/lib/ruby-lint/definitions/core/no_memory_error.rb +9 -8
  138. data/lib/ruby-lint/definitions/core/no_method_error.rb +14 -14
  139. data/lib/ruby-lint/definitions/core/not_implemented_error.rb +9 -8
  140. data/lib/ruby-lint/definitions/core/numeric.rb +88 -80
  141. data/lib/ruby-lint/definitions/core/object.rb +20 -20
  142. data/lib/ruby-lint/definitions/core/object_space.rb +28 -31
  143. data/lib/ruby-lint/definitions/core/observable.rb +20 -23
  144. data/lib/ruby-lint/definitions/core/open3.rb +47 -50
  145. data/lib/ruby-lint/definitions/core/open_ssl.rb +4158 -13
  146. data/lib/ruby-lint/definitions/core/open_struct.rb +40 -37
  147. data/lib/ruby-lint/definitions/core/open_uri.rb +142 -25
  148. data/lib/ruby-lint/definitions/core/option_parser.rb +919 -981
  149. data/lib/ruby-lint/definitions/core/orig_libpath.rb +4 -32
  150. data/lib/ruby-lint/definitions/core/outflag.rb +4 -548
  151. data/lib/ruby-lint/definitions/core/pathname.rb +211 -186
  152. data/lib/ruby-lint/definitions/core/pp.rb +160 -99
  153. data/lib/ruby-lint/definitions/core/pretty_print.rb +170 -56
  154. data/lib/ruby-lint/definitions/core/prime.rb +329 -234
  155. data/lib/ruby-lint/definitions/core/proc.rb +63 -75
  156. data/lib/ruby-lint/definitions/core/process.rb +504 -412
  157. data/lib/ruby-lint/definitions/core/profiler__.rb +13 -16
  158. data/lib/ruby-lint/definitions/core/pstore.rb +66 -36
  159. data/lib/ruby-lint/definitions/core/queue.rb +32 -32
  160. data/lib/ruby-lint/definitions/core/random.rb +29 -29
  161. data/lib/ruby-lint/definitions/core/range.rb +123 -77
  162. data/lib/ruby-lint/definitions/core/range_error.rb +9 -8
  163. data/lib/ruby-lint/definitions/core/rational.rb +84 -67
  164. data/lib/ruby-lint/definitions/core/rb_config.rb +18 -29
  165. data/lib/ruby-lint/definitions/core/readline.rb +85 -41
  166. data/lib/ruby-lint/definitions/core/regexp.rb +239 -293
  167. data/lib/ruby-lint/definitions/core/regexp_error.rb +9 -8
  168. data/lib/ruby-lint/definitions/core/resolv.rb +1365 -38
  169. data/lib/ruby-lint/definitions/core/rpathflag.rb +4 -548
  170. data/lib/ruby-lint/definitions/core/ruby_copyright.rb +9 -9
  171. data/lib/ruby-lint/definitions/core/ruby_description.rb +9 -9
  172. data/lib/ruby-lint/definitions/core/ruby_engine.rb +9 -9
  173. data/lib/ruby-lint/definitions/core/ruby_patchlevel.rb +9 -9
  174. data/lib/ruby-lint/definitions/core/ruby_platform.rb +9 -9
  175. data/lib/ruby-lint/definitions/core/ruby_release_date.rb +9 -9
  176. data/lib/ruby-lint/definitions/core/ruby_revision.rb +4 -246
  177. data/lib/ruby-lint/definitions/core/ruby_version.rb +9 -9
  178. data/lib/ruby-lint/definitions/core/runtime_error.rb +9 -8
  179. data/lib/ruby-lint/definitions/core/scan_error.rb +9 -8
  180. data/lib/ruby-lint/definitions/core/scanf.rb +83 -7
  181. data/lib/ruby-lint/definitions/core/script_error.rb +9 -8
  182. data/lib/ruby-lint/definitions/core/secure_random.rb +22 -25
  183. data/lib/ruby-lint/definitions/core/security_error.rb +9 -8
  184. data/lib/ruby-lint/definitions/core/set.rb +154 -504
  185. data/lib/ruby-lint/definitions/core/shellwords.rb +27 -28
  186. data/lib/ruby-lint/definitions/core/signal.rb +21 -29
  187. data/lib/ruby-lint/definitions/core/signal_exception.rb +15 -15
  188. data/lib/ruby-lint/definitions/core/simple_delegator.rb +10 -26
  189. data/lib/ruby-lint/definitions/core/single_forwardable.rb +35 -38
  190. data/lib/ruby-lint/definitions/core/singleton.rb +21 -28
  191. data/lib/ruby-lint/definitions/core/sized_queue.rb +35 -31
  192. data/lib/ruby-lint/definitions/core/socket.rb +2942 -438
  193. data/lib/ruby-lint/definitions/core/socket_error.rb +4 -54
  194. data/lib/ruby-lint/definitions/core/sorted_set.rb +49 -263
  195. data/lib/ruby-lint/definitions/core/src_ext.rb +4 -421
  196. data/lib/ruby-lint/definitions/core/standard_error.rb +9 -8
  197. data/lib/ruby-lint/definitions/core/stderr.rb +9 -9
  198. data/lib/ruby-lint/definitions/core/stdin.rb +9 -9
  199. data/lib/ruby-lint/definitions/core/stdout.rb +9 -9
  200. data/lib/ruby-lint/definitions/core/stop_iteration.rb +10 -8
  201. data/lib/ruby-lint/definitions/core/string.rb +451 -1222
  202. data/lib/ruby-lint/definitions/core/string_io.rb +226 -518
  203. data/lib/ruby-lint/definitions/core/string_scanner.rb +107 -108
  204. data/lib/ruby-lint/definitions/core/struct.rb +113 -761
  205. data/lib/ruby-lint/definitions/core/syck.rb +1292 -25
  206. data/lib/ruby-lint/definitions/core/symbol.rb +78 -59
  207. data/lib/ruby-lint/definitions/core/syntax_error.rb +23 -33
  208. data/lib/ruby-lint/definitions/core/system_call_error.rb +26 -24
  209. data/lib/ruby-lint/definitions/core/system_exit.rb +15 -15
  210. data/lib/ruby-lint/definitions/core/system_stack_error.rb +9 -8
  211. data/lib/ruby-lint/definitions/core/tcpserver.rb +291 -486
  212. data/lib/ruby-lint/definitions/core/tcpsocket.rb +302 -483
  213. data/lib/ruby-lint/definitions/core/tempfile.rb +39 -832
  214. data/lib/ruby-lint/definitions/core/th_wait.rb +35 -70
  215. data/lib/ruby-lint/definitions/core/thread.rb +131 -144
  216. data/lib/ruby-lint/definitions/core/thread_error.rb +9 -8
  217. data/lib/ruby-lint/definitions/core/thread_group.rb +23 -16
  218. data/lib/ruby-lint/definitions/core/threads_wait.rb +43 -63
  219. data/lib/ruby-lint/definitions/core/time.rb +236 -159
  220. data/lib/ruby-lint/definitions/core/timeout.rb +40 -14
  221. data/lib/ruby-lint/definitions/core/timeout_error.rb +4 -54
  222. data/lib/ruby-lint/definitions/core/toplevel_binding.rb +9 -7
  223. data/lib/ruby-lint/definitions/core/true.rb +9 -7
  224. data/lib/ruby-lint/definitions/core/true_class.rb +40 -22
  225. data/lib/ruby-lint/definitions/core/try_link.rb +4 -548
  226. data/lib/ruby-lint/definitions/core/tsort.rb +21 -19
  227. data/lib/ruby-lint/definitions/core/type_error.rb +9 -8
  228. data/lib/ruby-lint/definitions/core/udpsocket.rb +302 -487
  229. data/lib/ruby-lint/definitions/core/unbound_method.rb +35 -36
  230. data/lib/ruby-lint/definitions/core/universal_ints.rb +4 -421
  231. data/lib/ruby-lint/definitions/core/unixserver.rb +291 -490
  232. data/lib/ruby-lint/definitions/core/unixsocket.rb +314 -476
  233. data/lib/ruby-lint/definitions/core/uri.rb +1309 -38
  234. data/lib/ruby-lint/definitions/core/vector.rb +143 -242
  235. data/lib/ruby-lint/definitions/core/weak_ref.rb +29 -32
  236. data/lib/ruby-lint/definitions/core/webrick.rb +2430 -7
  237. data/lib/ruby-lint/definitions/core/xmlrpc.rb +5 -7
  238. data/lib/ruby-lint/definitions/core/yaml.rb +109 -2325
  239. data/lib/ruby-lint/definitions/core/zero_division_error.rb +9 -8
  240. data/lib/ruby-lint/definitions/core/zlib.rb +272 -8526
  241. data/lib/ruby-lint/definitions/gems/.gitkeep +0 -0
  242. data/lib/ruby-lint/definitions/gems/devise.rb +2271 -0
  243. data/lib/ruby-lint/definitions/gems/nokogiri.rb +7668 -0
  244. data/lib/ruby-lint/definitions/rails/abstract_controller.rb +508 -322
  245. data/lib/ruby-lint/definitions/rails/action_controller.rb +2252 -4462
  246. data/lib/ruby-lint/definitions/rails/action_dispatch.rb +3448 -1846
  247. data/lib/ruby-lint/definitions/rails/action_mailer.rb +750 -1349
  248. data/lib/ruby-lint/definitions/rails/action_pack.rb +31 -14
  249. data/lib/ruby-lint/definitions/rails/action_view.rb +5788 -5748
  250. data/lib/ruby-lint/definitions/rails/active_model.rb +1015 -1065
  251. data/lib/ruby-lint/definitions/rails/active_record.rb +8080 -8075
  252. data/lib/ruby-lint/definitions/rails/active_support.rb +3844 -4153
  253. data/lib/ruby-lint/definitions/rails/arel.rb +6752 -2301
  254. data/lib/ruby-lint/definitions/rails/rails.rb +1553 -2383
  255. data/lib/ruby-lint/definitions/rails/sprockets.rb +1131 -3140
  256. data/lib/ruby-lint/file_list.rb +43 -0
  257. data/lib/ruby-lint/file_scanner.rb +3 -3
  258. data/lib/ruby-lint/generated_constant.rb +5 -1
  259. data/lib/ruby-lint/inspector.rb +108 -46
  260. data/lib/ruby-lint/method_call/attribute.rb +3 -1
  261. data/lib/ruby-lint/rake_task.rb +98 -0
  262. data/lib/ruby-lint/ruby_lint.rb +11 -0
  263. data/lib/ruby-lint/runner.rb +0 -11
  264. data/lib/ruby-lint/template/definition.erb +26 -19
  265. data/lib/ruby-lint/template/scope.rb +12 -0
  266. data/lib/ruby-lint/variable_predicates.rb +14 -0
  267. data/lib/ruby-lint/version.rb +1 -1
  268. data/lib/ruby-lint/virtual_machine.rb +82 -46
  269. data/ruby-lint.gemspec +3 -14
  270. data/spec/ruby-lint/analysis/undefined_methods_spec.rb +20 -3
  271. data/spec/ruby-lint/analysis/useless_equality_checks_spec.rb +107 -0
  272. data/spec/ruby-lint/configuration_spec.rb +20 -0
  273. data/spec/ruby-lint/constant_loader_spec.rb +79 -0
  274. data/spec/ruby-lint/definition/constant_proxy_spec.rb +65 -34
  275. data/spec/ruby-lint/definition/registry_spec.rb +106 -0
  276. data/spec/ruby-lint/definition/ruby_object_spec.rb +25 -25
  277. data/spec/ruby-lint/definition_builder/primitive_spec.rb +10 -10
  278. data/spec/ruby-lint/definition_builder/ruby_class_spec.rb +18 -19
  279. data/spec/ruby-lint/definition_builder/ruby_method_spec.rb +12 -12
  280. data/spec/ruby-lint/definition_builder/ruby_module_spec.rb +14 -14
  281. data/spec/ruby-lint/definitions/argv_spec.rb +3 -2
  282. data/spec/ruby-lint/definitions/env_spec.rb +5 -3
  283. data/spec/ruby-lint/definitions/file_spec.rb +17 -0
  284. data/spec/ruby-lint/definitions/fixnum_spec.rb +18 -0
  285. data/spec/ruby-lint/definitions/io_spec.rb +5 -3
  286. data/spec/ruby-lint/definitions/kernel_spec.rb +18 -0
  287. data/spec/ruby-lint/definitions/range_spec.rb +21 -0
  288. data/spec/ruby-lint/definitions/string_spec.rb +20 -0
  289. data/spec/ruby-lint/file_list_spec.rb +25 -0
  290. data/spec/ruby-lint/file_scanner_spec.rb +12 -0
  291. data/spec/ruby-lint/inspector_spec.rb +203 -23
  292. data/spec/ruby-lint/method_call/.gitkeep +0 -0
  293. data/spec/ruby-lint/variable_predicates_spec.rb +30 -0
  294. data/spec/ruby-lint/virtual_machine/associate_nodes_spec.rb +6 -4
  295. data/spec/ruby-lint/virtual_machine/autoloading_spec.rb +3 -16
  296. data/spec/ruby-lint/virtual_machine/classes/redefining_spec.rb +28 -1
  297. data/spec/ruby-lint/virtual_machine/complex/rails_spec.rb +12 -9
  298. data/spec/ruby-lint/virtual_machine/global_variables_spec.rb +8 -5
  299. data/spec/ruby-lint/virtual_machine/method_call_tracking_spec.rb +0 -7
  300. data/spec/ruby-lint/virtual_machine/methods/attr_spec.rb +66 -0
  301. data/spec/ruby-lint/virtual_machine/methods/calls_spec.rb +25 -0
  302. data/spec/ruby-lint/virtual_machine/methods/define_method_spec.rb +1 -1
  303. data/spec/ruby-lint/virtual_machine/methods/docstrings_spec.rb +20 -9
  304. data/spec/ruby-lint/virtual_machine/methods/kernel_spec.rb +25 -0
  305. data/spec/ruby-lint/virtual_machine/methods/patching_spec.rb +0 -6
  306. data/spec/ruby-lint/virtual_machine/methods/square_bracket_spec.rb +32 -0
  307. data/spec/ruby-lint/virtual_machine/self_spec.rb +37 -0
  308. data/spec/spec_helper.rb +0 -1
  309. data/spec/support/building.rb +0 -4
  310. data/spec/support/definitions.rb +16 -0
  311. data/task/generate.rake +35 -33
  312. data/task/todo.rake +1 -1
  313. metadata +73 -100
  314. data/lib/ruby-lint/cli/ast.rb +0 -50
  315. data/lib/ruby-lint/cli/plot.rb +0 -94
  316. data/lib/ruby-lint/definitions/core/arg0.rb +0 -9
  317. data/lib/ruby-lint/definitions/core/autoload.rb +0 -41
  318. data/lib/ruby-lint/definitions/core/continuation.rb +0 -10
  319. data/lib/ruby-lint/definitions/core/default_record_separator.rb +0 -9
  320. data/lib/ruby-lint/definitions/core/fatal_error.rb +0 -10
  321. data/lib/ruby-lint/definitions/core/file_list.rb +0 -729
  322. data/lib/ruby-lint/definitions/core/immediate_value.rb +0 -21
  323. data/lib/ruby-lint/definitions/core/md5.rb +0 -80
  324. data/lib/ruby-lint/definitions/core/memory_segmention_error.rb +0 -10
  325. data/lib/ruby-lint/definitions/core/precision.rb +0 -23
  326. data/lib/ruby-lint/definitions/core/primitive_failure.rb +0 -10
  327. data/lib/ruby-lint/definitions/core/psych.rb +0 -139
  328. data/lib/ruby-lint/definitions/core/rake.rb +0 -4786
  329. data/lib/ruby-lint/definitions/core/rake_file_utils.rb +0 -205
  330. data/lib/ruby-lint/definitions/core/rakeversion.rb +0 -9
  331. data/lib/ruby-lint/definitions/core/rdoc.rb +0 -15
  332. data/lib/ruby-lint/definitions/core/rexml.rb +0 -13
  333. data/lib/ruby-lint/definitions/core/rss.rb +0 -13
  334. data/lib/ruby-lint/definitions/core/sha1.rb +0 -80
  335. data/lib/ruby-lint/definitions/core/unmarshalable.rb +0 -15
  336. data/lib/ruby-lint/definitions/core/unsupported_library_error.rb +0 -10
  337. data/lib/ruby-lint/definitions/global_variables.rb +0 -9
  338. data/lib/ruby-lint/definitions/rails.rb +0 -12
  339. data/lib/ruby-lint/global_scope.rb +0 -56
  340. data/spec/ruby-lint/cli/ast_spec.rb +0 -23
  341. data/spec/ruby-lint/method_call/assign_member_spec.rb +0 -25
@@ -4,7 +4,6 @@ require 'redcard'
4
4
  require 'tmpdir'
5
5
  require 'fileutils'
6
6
  require 'tempfile'
7
- require 'benchmark'
8
7
 
9
8
  if ENV['COVERAGE']
10
9
  require_relative 'support/simplecov'
@@ -5,11 +5,9 @@
5
5
  # @return [RubyLint::Definition::RubyObject]
6
6
  #
7
7
  def build_definitions(code)
8
- loader = RubyLint::ConstantLoader.new
9
8
  ast, comments = parse_with_comments(code)
10
9
  vm = RubyLint::VirtualMachine.new(:comments => comments)
11
10
 
12
- loader.iterate(ast)
13
11
  vm.run(ast)
14
12
 
15
13
  return vm.definitions
@@ -23,11 +21,9 @@ end
23
21
  # @return [RubyLint::Report]
24
22
  #
25
23
  def build_report(code, iterator)
26
- loader = RubyLint::ConstantLoader.new
27
24
  ast, comments = parse_with_comments(code)
28
25
  vm = RubyLint::VirtualMachine.new(:comments => comments)
29
26
 
30
- loader.iterate(ast)
31
27
  vm.run(ast)
32
28
 
33
29
  report = RubyLint::Report.new
@@ -21,3 +21,19 @@ def method_with_argument(object, type)
21
21
  example.send("define_#{type}", 'number')
22
22
  end
23
23
  end
24
+
25
+ ##
26
+ # Loads a list of built-in definitions.
27
+ #
28
+ # @param [String] names
29
+ #
30
+ def load_definitions(*names)
31
+ root = ruby_object.new
32
+ loader = RubyLint::ConstantLoader.new(:definitions => root)
33
+
34
+ names.each do |name|
35
+ loader.load_constant(name)
36
+ end
37
+
38
+ return root
39
+ end
@@ -17,19 +17,25 @@ namespace :generate do
17
17
  task :everything, :overwrite do |task, args|
18
18
  args.with_defaults(:overwrite => false)
19
19
 
20
- # Require the entire stdlib so we can generate the definitions for it.
21
- require_relative '../misc/stdlib'
20
+ require_relative '../gen/stdlib/requires'
22
21
 
23
22
  directory = File.expand_path(
24
23
  '../../lib/ruby-lint/definitions/core/',
25
24
  __FILE__
26
25
  )
27
26
 
27
+ constants_file = File.expand_path(
28
+ '../../gen/stdlib/constants.txt',
29
+ __FILE__
30
+ )
31
+
32
+ allowed = File.read(constants_file).split("\n")
33
+ ignore = Object.constants.map(&:to_s) - allowed
28
34
  generator = RubyLint::DefinitionGenerator.new(
29
35
  Object,
30
36
  directory,
31
- :ignore => %w{BasicObject Class GEMSPEC Module Kernel},
32
- :overwrite => !!args[:overwrite]
37
+ :overwrite => !!args[:overwrite],
38
+ :ignore => ignore
33
39
  )
34
40
 
35
41
  generator.generate
@@ -37,39 +43,35 @@ namespace :generate do
37
43
 
38
44
  desc 'Generates definitions for Rails'
39
45
  task :rails do
40
- require 'mail'
41
- require 'rails/all'
42
-
43
- dir = File.expand_path('../../lib/ruby-lint/definitions/rails', __FILE__)
44
-
45
- constants = [
46
- 'AbstractController',
47
- 'ActionController',
48
- 'ActionDispatch',
49
- 'ActionMailer',
50
- 'ActionPack',
51
- 'ActionView',
52
- 'ActiveModel',
53
- 'ActiveRecord',
54
- 'ActiveSupport',
55
- 'Arel',
56
- 'Rails',
57
- 'Sprockets',
58
- ]
46
+ require_relative '../gen/rails/requires'
47
+
48
+ directory = File.expand_path(
49
+ '../../lib/ruby-lint/definitions/rails',
50
+ __FILE__
51
+ )
52
+
53
+ constants_file = File.expand_path(
54
+ '../../gen/rails/constants.txt',
55
+ __FILE__
56
+ )
57
+
58
+ constants = File.read(constants_file).split("\n")
59
59
 
60
+ # Deal with Rails' autoloading nonsense.
60
61
  constants.each do |name|
61
62
  constant = Object.const_get(name)
62
63
 
63
- # Deal with Rails' autoloading nonsense.
64
- if constant.respond_to?(:eager_load!)
65
- constant.eager_load!
66
- end
67
-
68
- Rake::Task['generate:definitions'].execute(
69
- :constant => name,
70
- :directory => dir,
71
- :overwrite => true
72
- )
64
+ constant.eager_load! if constant.respond_to?(:eager_load!)
73
65
  end
66
+
67
+ ignore = Object.constants.map(&:to_s) - constants
68
+ generator = RubyLint::DefinitionGenerator.new(
69
+ Object,
70
+ directory,
71
+ :overwrite => true,
72
+ :ignore => ignore
73
+ )
74
+
75
+ generator.generate
74
76
  end
75
77
  end
@@ -2,5 +2,5 @@ desc 'Extracts TODO tags and the likes'
2
2
  task :todo do
3
3
  regex = %w{NOTE: FIXME: TODO: THINK: @todo}.join('|')
4
4
 
5
- sh "ack '#{regex}' lib"
5
+ sh "grep --color -R -P '#{regex}' lib"
6
6
  end
metadata CHANGED
@@ -1,187 +1,165 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lint
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yorick Peterse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-23 00:00:00.000000000 Z
11
+ date: 2014-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: '2.1'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.1.1
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ~>
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.1'
30
+ - - ">="
25
31
  - !ruby/object:Gem::Version
26
- version: '2.0'
32
+ version: 2.1.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: slop
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - ~>
37
+ - - "~>"
32
38
  - !ruby/object:Gem::Version
33
39
  version: '3.4'
34
- - - '>='
40
+ - - ">="
35
41
  - !ruby/object:Gem::Version
36
42
  version: 3.4.7
37
43
  type: :runtime
38
44
  prerelease: false
39
45
  version_requirements: !ruby/object:Gem::Requirement
40
46
  requirements:
41
- - - ~>
47
+ - - "~>"
42
48
  - !ruby/object:Gem::Version
43
49
  version: '3.4'
44
- - - '>='
50
+ - - ">="
45
51
  - !ruby/object:Gem::Version
46
52
  version: 3.4.7
47
53
  - !ruby/object:Gem::Dependency
48
54
  name: rake
49
55
  requirement: !ruby/object:Gem::Requirement
50
56
  requirements:
51
- - - '>='
57
+ - - ">="
52
58
  - !ruby/object:Gem::Version
53
59
  version: '0'
54
60
  type: :development
55
61
  prerelease: false
56
62
  version_requirements: !ruby/object:Gem::Requirement
57
63
  requirements:
58
- - - '>='
64
+ - - ">="
59
65
  - !ruby/object:Gem::Version
60
66
  version: '0'
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: rspec
63
69
  requirement: !ruby/object:Gem::Requirement
64
70
  requirements:
65
- - - '>='
71
+ - - ">="
66
72
  - !ruby/object:Gem::Version
67
73
  version: '2.14'
68
74
  type: :development
69
75
  prerelease: false
70
76
  version_requirements: !ruby/object:Gem::Requirement
71
77
  requirements:
72
- - - '>='
78
+ - - ">="
73
79
  - !ruby/object:Gem::Version
74
80
  version: '2.14'
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: yard
77
83
  requirement: !ruby/object:Gem::Requirement
78
84
  requirements:
79
- - - '>='
80
- - !ruby/object:Gem::Version
81
- version: '0'
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - '>='
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
- - !ruby/object:Gem::Dependency
90
- name: pry-rescue
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - '>='
85
+ - - ">="
94
86
  - !ruby/object:Gem::Version
95
87
  version: '0'
96
88
  type: :development
97
89
  prerelease: false
98
90
  version_requirements: !ruby/object:Gem::Requirement
99
91
  requirements:
100
- - - '>='
92
+ - - ">="
101
93
  - !ruby/object:Gem::Version
102
94
  version: '0'
103
95
  - !ruby/object:Gem::Dependency
104
96
  name: simplecov
105
97
  requirement: !ruby/object:Gem::Requirement
106
98
  requirements:
107
- - - '>='
99
+ - - ">="
108
100
  - !ruby/object:Gem::Version
109
101
  version: '0'
110
102
  type: :development
111
103
  prerelease: false
112
104
  version_requirements: !ruby/object:Gem::Requirement
113
105
  requirements:
114
- - - '>='
106
+ - - ">="
115
107
  - !ruby/object:Gem::Version
116
108
  version: '0'
117
109
  - !ruby/object:Gem::Dependency
118
110
  name: coveralls
119
111
  requirement: !ruby/object:Gem::Requirement
120
112
  requirements:
121
- - - '>='
113
+ - - ">="
122
114
  - !ruby/object:Gem::Version
123
115
  version: '0'
124
116
  type: :development
125
117
  prerelease: false
126
118
  version_requirements: !ruby/object:Gem::Requirement
127
119
  requirements:
128
- - - '>='
120
+ - - ">="
129
121
  - !ruby/object:Gem::Version
130
122
  version: '0'
131
123
  - !ruby/object:Gem::Dependency
132
124
  name: json
133
125
  requirement: !ruby/object:Gem::Requirement
134
126
  requirements:
135
- - - '>='
127
+ - - ">="
136
128
  - !ruby/object:Gem::Version
137
129
  version: '0'
138
130
  type: :development
139
131
  prerelease: false
140
132
  version_requirements: !ruby/object:Gem::Requirement
141
133
  requirements:
142
- - - '>='
134
+ - - ">="
143
135
  - !ruby/object:Gem::Version
144
136
  version: '0'
145
137
  - !ruby/object:Gem::Dependency
146
138
  name: kramdown
147
139
  requirement: !ruby/object:Gem::Requirement
148
140
  requirements:
149
- - - '>='
141
+ - - ">="
150
142
  - !ruby/object:Gem::Version
151
143
  version: '0'
152
144
  type: :development
153
145
  prerelease: false
154
146
  version_requirements: !ruby/object:Gem::Requirement
155
147
  requirements:
156
- - - '>='
148
+ - - ">="
157
149
  - !ruby/object:Gem::Version
158
150
  version: '0'
159
151
  - !ruby/object:Gem::Dependency
160
152
  name: redcard
161
153
  requirement: !ruby/object:Gem::Requirement
162
154
  requirements:
163
- - - '>='
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- type: :development
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - '>='
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
- - !ruby/object:Gem::Dependency
174
- name: gnuplot
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - '>='
155
+ - - ">="
178
156
  - !ruby/object:Gem::Version
179
157
  version: '0'
180
158
  type: :development
181
159
  prerelease: false
182
160
  version_requirements: !ruby/object:Gem::Requirement
183
161
  requirements:
184
- - - '>='
162
+ - - ">="
185
163
  - !ruby/object:Gem::Version
186
164
  version: '0'
187
165
  description: A linter and static code analysis tool for Ruby.
@@ -191,11 +169,11 @@ executables:
191
169
  extensions: []
192
170
  extra_rdoc_files: []
193
171
  files:
194
- - .editorconfig
195
- - .gitignore
196
- - .ruby-version
197
- - .travis.yml
198
- - .yardopts
172
+ - ".editorconfig"
173
+ - ".gitignore"
174
+ - ".ruby-version"
175
+ - ".travis.yml"
176
+ - ".yardopts"
199
177
  - CONTRIBUTING.md
200
178
  - Gemfile
201
179
  - LICENSE
@@ -214,6 +192,8 @@ files:
214
192
  - checksum/ruby-lint-1.0.0.gem.sha512
215
193
  - checksum/ruby-lint-1.0.0.pre.preview1.gem.sha512
216
194
  - checksum/ruby-lint-1.0.1.gem.sha512
195
+ - checksum/ruby-lint-1.0.2.gem.sha512
196
+ - checksum/ruby-lint-1.0.3.gem.sha512
217
197
  - doc/.gitkeep
218
198
  - doc/DCO.md
219
199
  - doc/architecture.md
@@ -222,9 +202,15 @@ files:
222
202
  - doc/configuration.md
223
203
  - doc/css/.gitkeep
224
204
  - doc/css/common.css
205
+ - doc/definitions.md
225
206
  - doc/graphviz/flow.dot
226
207
  - doc/images/.gitkeep
227
208
  - doc/images/flow.png
209
+ - gen/rails/constants.txt
210
+ - gen/rails/requires.rb
211
+ - gen/stdlib/constants.rb
212
+ - gen/stdlib/constants.txt
213
+ - gen/stdlib/requires.rb
228
214
  - lib/ruby-lint.rb
229
215
  - lib/ruby-lint/analysis/argument_amount.rb
230
216
  - lib/ruby-lint/analysis/base.rb
@@ -233,6 +219,7 @@ files:
233
219
  - lib/ruby-lint/analysis/undefined_methods.rb
234
220
  - lib/ruby-lint/analysis/undefined_variables.rb
235
221
  - lib/ruby-lint/analysis/unused_variables.rb
222
+ - lib/ruby-lint/analysis/useless_equality_checks.rb
236
223
  - lib/ruby-lint/ast/builder.rb
237
224
  - lib/ruby-lint/ast/node.rb
238
225
  - lib/ruby-lint/benchmark/average.rb
@@ -240,14 +227,14 @@ files:
240
227
  - lib/ruby-lint/cache_entry.rb
241
228
  - lib/ruby-lint/cli.rb
242
229
  - lib/ruby-lint/cli/analyze.rb
243
- - lib/ruby-lint/cli/ast.rb
244
230
  - lib/ruby-lint/cli/base.rb
245
- - lib/ruby-lint/cli/plot.rb
231
+ - lib/ruby-lint/cli/cache.rb
246
232
  - lib/ruby-lint/configuration.rb
247
233
  - lib/ruby-lint/constant_loader.rb
248
234
  - lib/ruby-lint/constant_path.rb
249
235
  - lib/ruby-lint/default_names.rb
250
236
  - lib/ruby-lint/definition/constant_proxy.rb
237
+ - lib/ruby-lint/definition/registry.rb
251
238
  - lib/ruby-lint/definition/ruby_method.rb
252
239
  - lib/ruby-lint/definition/ruby_object.rb
253
240
  - lib/ruby-lint/definition_builder/base.rb
@@ -261,12 +248,10 @@ files:
261
248
  - lib/ruby-lint/definition_generator.rb
262
249
  - lib/ruby-lint/definitions/core.rb
263
250
  - lib/ruby-lint/definitions/core/abbrev.rb
264
- - lib/ruby-lint/definitions/core/arg0.rb
265
251
  - lib/ruby-lint/definitions/core/argf.rb
266
252
  - lib/ruby-lint/definitions/core/argument_error.rb
267
253
  - lib/ruby-lint/definitions/core/argv.rb
268
254
  - lib/ruby-lint/definitions/core/array.rb
269
- - lib/ruby-lint/definitions/core/autoload.rb
270
255
  - lib/ruby-lint/definitions/core/base64.rb
271
256
  - lib/ruby-lint/definitions/core/basic_object.rb
272
257
  - lib/ruby-lint/definitions/core/basic_socket.rb
@@ -282,13 +267,11 @@ files:
282
267
  - lib/ruby-lint/definitions/core/condition_variable.rb
283
268
  - lib/ruby-lint/definitions/core/config.rb
284
269
  - lib/ruby-lint/definitions/core/conftest_c.rb
285
- - lib/ruby-lint/definitions/core/continuation.rb
286
270
  - lib/ruby-lint/definitions/core/coutflag.rb
287
271
  - lib/ruby-lint/definitions/core/csv.rb
288
272
  - lib/ruby-lint/definitions/core/data.rb
289
273
  - lib/ruby-lint/definitions/core/date.rb
290
274
  - lib/ruby-lint/definitions/core/date_time.rb
291
- - lib/ruby-lint/definitions/core/default_record_separator.rb
292
275
  - lib/ruby-lint/definitions/core/delegator.rb
293
276
  - lib/ruby-lint/definitions/core/digest.rb
294
277
  - lib/ruby-lint/definitions/core/dir.rb
@@ -311,12 +294,10 @@ files:
311
294
  - lib/ruby-lint/definitions/core/failed_message.rb
312
295
  - lib/ruby-lint/definitions/core/false.rb
313
296
  - lib/ruby-lint/definitions/core/false_class.rb
314
- - lib/ruby-lint/definitions/core/fatal_error.rb
315
297
  - lib/ruby-lint/definitions/core/fcntl.rb
316
298
  - lib/ruby-lint/definitions/core/fiber.rb
317
299
  - lib/ruby-lint/definitions/core/fiber_error.rb
318
300
  - lib/ruby-lint/definitions/core/file.rb
319
- - lib/ruby-lint/definitions/core/file_list.rb
320
301
  - lib/ruby-lint/definitions/core/file_test.rb
321
302
  - lib/ruby-lint/definitions/core/file_utils.rb
322
303
  - lib/ruby-lint/definitions/core/find.rb
@@ -330,7 +311,6 @@ files:
330
311
  - lib/ruby-lint/definitions/core/gserver.rb
331
312
  - lib/ruby-lint/definitions/core/hash.rb
332
313
  - lib/ruby-lint/definitions/core/hdr_ext.rb
333
- - lib/ruby-lint/definitions/core/immediate_value.rb
334
314
  - lib/ruby-lint/definitions/core/index_error.rb
335
315
  - lib/ruby-lint/definitions/core/install_dirs.rb
336
316
  - lib/ruby-lint/definitions/core/integer.rb
@@ -356,8 +336,6 @@ files:
356
336
  - lib/ruby-lint/definitions/core/match_data.rb
357
337
  - lib/ruby-lint/definitions/core/math.rb
358
338
  - lib/ruby-lint/definitions/core/matrix.rb
359
- - lib/ruby-lint/definitions/core/md5.rb
360
- - lib/ruby-lint/definitions/core/memory_segmention_error.rb
361
339
  - lib/ruby-lint/definitions/core/method.rb
362
340
  - lib/ruby-lint/definitions/core/module.rb
363
341
  - lib/ruby-lint/definitions/core/monitor.rb
@@ -384,32 +362,23 @@ files:
384
362
  - lib/ruby-lint/definitions/core/outflag.rb
385
363
  - lib/ruby-lint/definitions/core/pathname.rb
386
364
  - lib/ruby-lint/definitions/core/pp.rb
387
- - lib/ruby-lint/definitions/core/precision.rb
388
365
  - lib/ruby-lint/definitions/core/pretty_print.rb
389
366
  - lib/ruby-lint/definitions/core/prime.rb
390
- - lib/ruby-lint/definitions/core/primitive_failure.rb
391
367
  - lib/ruby-lint/definitions/core/proc.rb
392
368
  - lib/ruby-lint/definitions/core/process.rb
393
369
  - lib/ruby-lint/definitions/core/profiler__.rb
394
370
  - lib/ruby-lint/definitions/core/pstore.rb
395
- - lib/ruby-lint/definitions/core/psych.rb
396
371
  - lib/ruby-lint/definitions/core/queue.rb
397
- - lib/ruby-lint/definitions/core/rake.rb
398
- - lib/ruby-lint/definitions/core/rake_file_utils.rb
399
- - lib/ruby-lint/definitions/core/rakeversion.rb
400
372
  - lib/ruby-lint/definitions/core/random.rb
401
373
  - lib/ruby-lint/definitions/core/range.rb
402
374
  - lib/ruby-lint/definitions/core/range_error.rb
403
375
  - lib/ruby-lint/definitions/core/rational.rb
404
376
  - lib/ruby-lint/definitions/core/rb_config.rb
405
- - lib/ruby-lint/definitions/core/rdoc.rb
406
377
  - lib/ruby-lint/definitions/core/readline.rb
407
378
  - lib/ruby-lint/definitions/core/regexp.rb
408
379
  - lib/ruby-lint/definitions/core/regexp_error.rb
409
380
  - lib/ruby-lint/definitions/core/resolv.rb
410
- - lib/ruby-lint/definitions/core/rexml.rb
411
381
  - lib/ruby-lint/definitions/core/rpathflag.rb
412
- - lib/ruby-lint/definitions/core/rss.rb
413
382
  - lib/ruby-lint/definitions/core/ruby_copyright.rb
414
383
  - lib/ruby-lint/definitions/core/ruby_description.rb
415
384
  - lib/ruby-lint/definitions/core/ruby_engine.rb
@@ -425,7 +394,6 @@ files:
425
394
  - lib/ruby-lint/definitions/core/secure_random.rb
426
395
  - lib/ruby-lint/definitions/core/security_error.rb
427
396
  - lib/ruby-lint/definitions/core/set.rb
428
- - lib/ruby-lint/definitions/core/sha1.rb
429
397
  - lib/ruby-lint/definitions/core/shellwords.rb
430
398
  - lib/ruby-lint/definitions/core/signal.rb
431
399
  - lib/ruby-lint/definitions/core/signal_exception.rb
@@ -474,8 +442,6 @@ files:
474
442
  - lib/ruby-lint/definitions/core/universal_ints.rb
475
443
  - lib/ruby-lint/definitions/core/unixserver.rb
476
444
  - lib/ruby-lint/definitions/core/unixsocket.rb
477
- - lib/ruby-lint/definitions/core/unmarshalable.rb
478
- - lib/ruby-lint/definitions/core/unsupported_library_error.rb
479
445
  - lib/ruby-lint/definitions/core/uri.rb
480
446
  - lib/ruby-lint/definitions/core/vector.rb
481
447
  - lib/ruby-lint/definitions/core/weak_ref.rb
@@ -484,8 +450,9 @@ files:
484
450
  - lib/ruby-lint/definitions/core/yaml.rb
485
451
  - lib/ruby-lint/definitions/core/zero_division_error.rb
486
452
  - lib/ruby-lint/definitions/core/zlib.rb
487
- - lib/ruby-lint/definitions/global_variables.rb
488
- - lib/ruby-lint/definitions/rails.rb
453
+ - lib/ruby-lint/definitions/gems/.gitkeep
454
+ - lib/ruby-lint/definitions/gems/devise.rb
455
+ - lib/ruby-lint/definitions/gems/nokogiri.rb
489
456
  - lib/ruby-lint/definitions/rails/abstract_controller.rb
490
457
  - lib/ruby-lint/definitions/rails/action_controller.rb
491
458
  - lib/ruby-lint/definitions/rails/action_dispatch.rb
@@ -503,10 +470,10 @@ files:
503
470
  - lib/ruby-lint/docstring/parser.rb
504
471
  - lib/ruby-lint/docstring/return_tag.rb
505
472
  - lib/ruby-lint/extensions/string.rb
473
+ - lib/ruby-lint/file_list.rb
506
474
  - lib/ruby-lint/file_loader.rb
507
475
  - lib/ruby-lint/file_scanner.rb
508
476
  - lib/ruby-lint/generated_constant.rb
509
- - lib/ruby-lint/global_scope.rb
510
477
  - lib/ruby-lint/inspector.rb
511
478
  - lib/ruby-lint/iterator.rb
512
479
  - lib/ruby-lint/method_call/alias.rb
@@ -522,8 +489,10 @@ files:
522
489
  - lib/ruby-lint/presenter/json.rb
523
490
  - lib/ruby-lint/presenter/syntastic.rb
524
491
  - lib/ruby-lint/presenter/text.rb
492
+ - lib/ruby-lint/rake_task.rb
525
493
  - lib/ruby-lint/report.rb
526
494
  - lib/ruby-lint/report/entry.rb
495
+ - lib/ruby-lint/ruby_lint.rb
527
496
  - lib/ruby-lint/runner.rb
528
497
  - lib/ruby-lint/template/definition.erb
529
498
  - lib/ruby-lint/template/scope.rb
@@ -562,15 +531,17 @@ files:
562
531
  - spec/ruby-lint/analysis/undefined_methods_spec.rb
563
532
  - spec/ruby-lint/analysis/undefined_variables_spec.rb
564
533
  - spec/ruby-lint/analysis/unused_variables_spec.rb
534
+ - spec/ruby-lint/analysis/useless_equality_checks_spec.rb
565
535
  - spec/ruby-lint/ast/node_spec.rb
566
536
  - spec/ruby-lint/cache_entry_spec.rb
567
537
  - spec/ruby-lint/cache_spec.rb
568
538
  - spec/ruby-lint/cli/analyze_spec.rb
569
- - spec/ruby-lint/cli/ast_spec.rb
570
539
  - spec/ruby-lint/configuration_spec.rb
540
+ - spec/ruby-lint/constant_loader_spec.rb
571
541
  - spec/ruby-lint/constant_path.rb
572
542
  - spec/ruby-lint/definition/constant_proxy_spec.rb
573
543
  - spec/ruby-lint/definition/dsl_spec.rb
544
+ - spec/ruby-lint/definition/registry_spec.rb
574
545
  - spec/ruby-lint/definition/ruby_method_spec.rb
575
546
  - spec/ruby-lint/definition/ruby_object_spec.rb
576
547
  - spec/ruby-lint/definition_builder/primitive_spec.rb
@@ -579,15 +550,21 @@ files:
579
550
  - spec/ruby-lint/definition_builder/ruby_module_spec.rb
580
551
  - spec/ruby-lint/definitions/argv_spec.rb
581
552
  - spec/ruby-lint/definitions/env_spec.rb
553
+ - spec/ruby-lint/definitions/file_spec.rb
554
+ - spec/ruby-lint/definitions/fixnum_spec.rb
582
555
  - spec/ruby-lint/definitions/io_spec.rb
556
+ - spec/ruby-lint/definitions/kernel_spec.rb
557
+ - spec/ruby-lint/definitions/range_spec.rb
558
+ - spec/ruby-lint/definitions/string_spec.rb
583
559
  - spec/ruby-lint/docstring/mapping.rb
584
560
  - spec/ruby-lint/docstring/parser_spec.rb
585
561
  - spec/ruby-lint/extensions/string_spec.rb
562
+ - spec/ruby-lint/file_list_spec.rb
586
563
  - spec/ruby-lint/file_loader_spec.rb
587
564
  - spec/ruby-lint/file_scanner_spec.rb
588
565
  - spec/ruby-lint/inspector_spec.rb
589
566
  - spec/ruby-lint/iterator_spec.rb
590
- - spec/ruby-lint/method_call/assign_member_spec.rb
567
+ - spec/ruby-lint/method_call/.gitkeep
591
568
  - spec/ruby-lint/nested_stack_spec.rb
592
569
  - spec/ruby-lint/node_hash_spec.rb
593
570
  - spec/ruby-lint/parser_spec.rb
@@ -597,6 +574,7 @@ files:
597
574
  - spec/ruby-lint/report/entry_spec.rb
598
575
  - spec/ruby-lint/report_spec.rb
599
576
  - spec/ruby-lint/runner_spec.rb
577
+ - spec/ruby-lint/variable_predicates_spec.rb
600
578
  - spec/ruby-lint/virtual_machine/alias_spec.rb
601
579
  - spec/ruby-lint/virtual_machine/assignments/arrays_spec.rb
602
580
  - spec/ruby-lint/virtual_machine/assignments/assignment_arguments_spec.rb
@@ -626,16 +604,20 @@ files:
626
604
  - spec/ruby-lint/virtual_machine/location_spec.rb
627
605
  - spec/ruby-lint/virtual_machine/method_call_tracking_spec.rb
628
606
  - spec/ruby-lint/virtual_machine/methods/attr_spec.rb
607
+ - spec/ruby-lint/virtual_machine/methods/calls_spec.rb
629
608
  - spec/ruby-lint/virtual_machine/methods/define_method_spec.rb
630
609
  - spec/ruby-lint/virtual_machine/methods/defining_spec.rb
631
610
  - spec/ruby-lint/virtual_machine/methods/docstrings_spec.rb
632
611
  - spec/ruby-lint/virtual_machine/methods/exporting_spec.rb
612
+ - spec/ruby-lint/virtual_machine/methods/kernel_spec.rb
633
613
  - spec/ruby-lint/virtual_machine/methods/parameters_spec.rb
634
614
  - spec/ruby-lint/virtual_machine/methods/patching_spec.rb
635
615
  - spec/ruby-lint/virtual_machine/methods/scoping_spec.rb
616
+ - spec/ruby-lint/virtual_machine/methods/square_bracket_spec.rb
636
617
  - spec/ruby-lint/virtual_machine/methods/visibility_spec.rb
637
618
  - spec/ruby-lint/virtual_machine/modules_spec.rb
638
619
  - spec/ruby-lint/virtual_machine/reference_amount_spec.rb
620
+ - spec/ruby-lint/virtual_machine/self_spec.rb
639
621
  - spec/ruby-lint/virtual_machine/unused_spec.rb
640
622
  - spec/spec_helper.rb
641
623
  - spec/support/building.rb
@@ -660,32 +642,23 @@ homepage: https://github.com/yorickpeterse/ruby-lint/
660
642
  licenses:
661
643
  - MIT
662
644
  metadata: {}
663
- post_install_message: |-
664
- Thanks for installing ruby-lint. Keep in mind that ruby-lint is still a young
665
- project and as such there will be bugs, false positives and otherwise weird
666
- behaviour. If you encounter any of these issues please report them (and provide
667
- some sample code) at the issue tracker:
668
-
669
- https://github.com/YorickPeterse/ruby-lint/issues/new
670
-
671
- If you have any further questions you can find me on Twitter/Freenode/Github
672
- using the handle "yorickpeterse".
645
+ post_install_message: 'Please report any issues at: https://github.com/YorickPeterse/ruby-lint/issues/new'
673
646
  rdoc_options: []
674
647
  require_paths:
675
648
  - lib
676
649
  required_ruby_version: !ruby/object:Gem::Requirement
677
650
  requirements:
678
- - - '>='
651
+ - - ">="
679
652
  - !ruby/object:Gem::Version
680
653
  version: 1.9.3
681
654
  required_rubygems_version: !ruby/object:Gem::Requirement
682
655
  requirements:
683
- - - '>='
656
+ - - ">="
684
657
  - !ruby/object:Gem::Version
685
658
  version: '0'
686
659
  requirements: []
687
660
  rubyforge_project:
688
- rubygems_version: 2.0.14
661
+ rubygems_version: 2.2.0
689
662
  signing_key:
690
663
  specification_version: 4
691
664
  summary: A linter and static code analysis tool for Ruby.