ruby-lint 0.0.5 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.asc +14 -14
- data/.gitignore +1 -0
- data/.yardopts +1 -1
- data/Gemfile +3 -3
- data/MANIFEST +16 -3
- data/benchmark/virtual_machine.rb +17 -0
- data/checksum/ruby-lint-0.0.5.gem.sha512 +1 -0
- data/doc/changelog.md +42 -0
- data/doc/configuration.md +133 -13
- data/lib/ruby-lint/analysis/shadowing_variables.rb +8 -14
- data/lib/ruby-lint/analysis/unused_variables.rb +17 -0
- data/lib/ruby-lint/ast/node.rb +18 -3
- data/lib/ruby-lint/cache.rb +121 -0
- data/lib/ruby-lint/cache_entry.rb +44 -0
- data/lib/ruby-lint/cli/analyze.rb +37 -18
- data/lib/ruby-lint/cli/plot.rb +94 -0
- data/lib/ruby-lint/cli.rb +1 -0
- data/lib/ruby-lint/configuration.rb +48 -3
- data/lib/ruby-lint/definition/ruby_method.rb +28 -1
- data/lib/ruby-lint/definition/ruby_object.rb +37 -3
- data/lib/ruby-lint/definition_builder/ruby_method.rb +4 -1
- data/lib/ruby-lint/definition_builder/ruby_module.rb +4 -1
- data/lib/ruby-lint/definition_generator.rb +3 -2
- data/lib/ruby-lint/definitions/core/arg0.rb +3 -1
- data/lib/ruby-lint/definitions/core/argf.rb +3 -1
- data/lib/ruby-lint/definitions/core/argument_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/argv.rb +3 -1
- data/lib/ruby-lint/definitions/core/array.rb +3 -1
- data/lib/ruby-lint/definitions/core/autoload.rb +3 -1
- data/lib/ruby-lint/definitions/core/basic_object.rb +2 -0
- data/lib/ruby-lint/definitions/core/bignum.rb +3 -1
- data/lib/ruby-lint/definitions/core/binding.rb +3 -1
- data/lib/ruby-lint/definitions/core/class.rb +2 -0
- data/lib/ruby-lint/definitions/core/comparable.rb +3 -1
- data/lib/ruby-lint/definitions/core/complex.rb +3 -1
- data/lib/ruby-lint/definitions/core/condition_variable.rb +3 -1
- data/lib/ruby-lint/definitions/core/continuation.rb +3 -1
- data/lib/ruby-lint/definitions/core/data.rb +3 -1
- data/lib/ruby-lint/definitions/core/date.rb +3 -1
- data/lib/ruby-lint/definitions/core/date_time.rb +3 -1
- data/lib/ruby-lint/definitions/core/default_record_separator.rb +3 -1
- data/lib/ruby-lint/definitions/core/digest.rb +3 -1
- data/lib/ruby-lint/definitions/core/dir.rb +3 -1
- data/lib/ruby-lint/definitions/core/encoding.rb +3 -1
- data/lib/ruby-lint/definitions/core/encoding_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/enumerable.rb +3 -1
- data/lib/ruby-lint/definitions/core/enumerator.rb +3 -1
- data/lib/ruby-lint/definitions/core/env.rb +4 -1
- data/lib/ruby-lint/definitions/core/eoferror.rb +3 -1
- data/lib/ruby-lint/definitions/core/erb.rb +2 -0
- data/lib/ruby-lint/definitions/core/errno.rb +3 -1
- data/lib/ruby-lint/definitions/core/etc.rb +3 -1
- data/lib/ruby-lint/definitions/core/exception.rb +3 -1
- data/lib/ruby-lint/definitions/core/false.rb +3 -1
- data/lib/ruby-lint/definitions/core/false_class.rb +3 -1
- data/lib/ruby-lint/definitions/core/fatal_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/fiber.rb +3 -1
- data/lib/ruby-lint/definitions/core/fiber_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/file.rb +3 -1
- data/lib/ruby-lint/definitions/core/file_list.rb +3 -1
- data/lib/ruby-lint/definitions/core/file_test.rb +3 -1
- data/lib/ruby-lint/definitions/core/file_utils.rb +3 -1
- data/lib/ruby-lint/definitions/core/fixnum.rb +3 -1
- data/lib/ruby-lint/definitions/core/float.rb +3 -1
- data/lib/ruby-lint/definitions/core/float_domain_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/gc.rb +3 -1
- data/lib/ruby-lint/definitions/core/gem.rb +3 -1
- data/lib/ruby-lint/definitions/core/hash.rb +3 -1
- data/lib/ruby-lint/definitions/core/immediate_value.rb +3 -1
- data/lib/ruby-lint/definitions/core/index_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/integer.rb +3 -1
- data/lib/ruby-lint/definitions/core/interrupt.rb +3 -1
- data/lib/ruby-lint/definitions/core/io.rb +3 -1
- data/lib/ruby-lint/definitions/core/ioerror.rb +3 -1
- data/lib/ruby-lint/definitions/core/kernel.rb +2 -0
- data/lib/ruby-lint/definitions/core/key_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/load_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/local_jump_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/marshal.rb +3 -1
- data/lib/ruby-lint/definitions/core/match_data.rb +3 -1
- data/lib/ruby-lint/definitions/core/math.rb +3 -1
- data/lib/ruby-lint/definitions/core/memory_segmention_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/method.rb +3 -1
- data/lib/ruby-lint/definitions/core/module.rb +2 -0
- data/lib/ruby-lint/definitions/core/monitor.rb +3 -1
- data/lib/ruby-lint/definitions/core/monitor_mixin.rb +3 -1
- data/lib/ruby-lint/definitions/core/mutex.rb +3 -1
- data/lib/ruby-lint/definitions/core/name_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/nil.rb +3 -1
- data/lib/ruby-lint/definitions/core/nil_class.rb +3 -1
- data/lib/ruby-lint/definitions/core/no_memory_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/no_method_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/not_implemented_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/numeric.rb +3 -1
- data/lib/ruby-lint/definitions/core/object.rb +3 -1
- data/lib/ruby-lint/definitions/core/object_space.rb +3 -1
- data/lib/ruby-lint/definitions/core/open_struct.rb +3 -1
- data/lib/ruby-lint/definitions/core/option_parser.rb +3 -1
- data/lib/ruby-lint/definitions/core/precision.rb +3 -1
- data/lib/ruby-lint/definitions/core/primitive_failure.rb +3 -1
- data/lib/ruby-lint/definitions/core/proc.rb +3 -1
- data/lib/ruby-lint/definitions/core/process.rb +3 -1
- data/lib/ruby-lint/definitions/core/queue.rb +3 -1
- data/lib/ruby-lint/definitions/core/rake.rb +3 -1
- data/lib/ruby-lint/definitions/core/rake_file_utils.rb +3 -1
- data/lib/ruby-lint/definitions/core/rakeversion.rb +3 -1
- data/lib/ruby-lint/definitions/core/random.rb +3 -1
- data/lib/ruby-lint/definitions/core/range.rb +3 -1
- data/lib/ruby-lint/definitions/core/range_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/rational.rb +3 -1
- data/lib/ruby-lint/definitions/core/rb_config.rb +3 -1
- data/lib/ruby-lint/definitions/core/regexp.rb +3 -1
- data/lib/ruby-lint/definitions/core/regexp_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/ruby_copyright.rb +3 -1
- data/lib/ruby-lint/definitions/core/ruby_description.rb +3 -1
- data/lib/ruby-lint/definitions/core/ruby_engine.rb +3 -1
- data/lib/ruby-lint/definitions/core/ruby_patchlevel.rb +3 -1
- data/lib/ruby-lint/definitions/core/ruby_platform.rb +3 -1
- data/lib/ruby-lint/definitions/core/ruby_release_date.rb +3 -1
- data/lib/ruby-lint/definitions/core/ruby_version.rb +3 -1
- data/lib/ruby-lint/definitions/core/runtime_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/scan_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/script_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/security_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/shellwords.rb +3 -1
- data/lib/ruby-lint/definitions/core/signal.rb +3 -1
- data/lib/ruby-lint/definitions/core/signal_exception.rb +3 -1
- data/lib/ruby-lint/definitions/core/singleton.rb +3 -1
- data/lib/ruby-lint/definitions/core/sized_queue.rb +3 -1
- data/lib/ruby-lint/definitions/core/standard_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/stderr.rb +2 -0
- data/lib/ruby-lint/definitions/core/stdin.rb +2 -0
- data/lib/ruby-lint/definitions/core/stdout.rb +2 -0
- data/lib/ruby-lint/definitions/core/stop_iteration.rb +3 -1
- data/lib/ruby-lint/definitions/core/string.rb +3 -1
- data/lib/ruby-lint/definitions/core/string_io.rb +3 -1
- data/lib/ruby-lint/definitions/core/string_scanner.rb +3 -1
- data/lib/ruby-lint/definitions/core/struct.rb +3 -1
- data/lib/ruby-lint/definitions/core/syck.rb +3 -1
- data/lib/ruby-lint/definitions/core/symbol.rb +3 -1
- data/lib/ruby-lint/definitions/core/syntax_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/system_call_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/system_exit.rb +3 -1
- data/lib/ruby-lint/definitions/core/system_stack_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/thread.rb +3 -1
- data/lib/ruby-lint/definitions/core/thread_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/thread_group.rb +3 -1
- data/lib/ruby-lint/definitions/core/time.rb +3 -1
- data/lib/ruby-lint/definitions/core/toplevel_binding.rb +3 -1
- data/lib/ruby-lint/definitions/core/true.rb +3 -1
- data/lib/ruby-lint/definitions/core/true_class.rb +3 -1
- data/lib/ruby-lint/definitions/core/type_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/unbound_method.rb +3 -1
- data/lib/ruby-lint/definitions/core/unmarshalable.rb +3 -1
- data/lib/ruby-lint/definitions/core/unsupported_library_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/weak_ref.rb +3 -1
- data/lib/ruby-lint/definitions/core/yaml.rb +1 -0
- data/lib/ruby-lint/definitions/core/zero_division_error.rb +3 -1
- data/lib/ruby-lint/definitions/core/zlib.rb +8840 -0
- data/lib/ruby-lint/definitions/rails/abstract_controller.rb +1 -0
- data/lib/ruby-lint/definitions/rails/action_controller.rb +1 -0
- data/lib/ruby-lint/definitions/rails/action_dispatch.rb +1 -0
- data/lib/ruby-lint/definitions/rails/action_mailer.rb +1 -0
- data/lib/ruby-lint/definitions/rails/action_pack.rb +1 -0
- data/lib/ruby-lint/definitions/rails/action_view.rb +1 -0
- data/lib/ruby-lint/definitions/rails/active_model.rb +1 -0
- data/lib/ruby-lint/definitions/rails/active_record.rb +1 -0
- data/lib/ruby-lint/definitions/rails/active_support.rb +1 -0
- data/lib/ruby-lint/definitions/rails/arel.rb +1 -0
- data/lib/ruby-lint/definitions/rails/rails.rb +1 -0
- data/lib/ruby-lint/definitions/rails/sprockets.rb +1 -0
- data/lib/ruby-lint/file_scanner.rb +2 -0
- data/lib/ruby-lint/iterator.rb +21 -12
- data/lib/ruby-lint/method_call_info.rb +31 -0
- data/lib/ruby-lint/node_hash.rb +105 -0
- data/lib/ruby-lint/parser.rb +4 -2
- data/lib/ruby-lint/runner.rb +62 -6
- data/lib/ruby-lint/template/definition.erb +2 -0
- data/lib/ruby-lint/version.rb +1 -1
- data/lib/ruby-lint/virtual_machine.rb +75 -43
- data/lib/ruby-lint.rb +20 -2
- data/profiling/virtual_machine.rb +20 -0
- data/ruby-lint.gemspec +2 -1
- data/spec/fixtures/complex/rcap.rb +29 -0
- data/spec/fixtures/complex/slop.rb +21 -0
- data/spec/fixtures/file_scanner/lib/ruby-lint/definition/constant_proxy.rb +6 -0
- data/spec/fixtures/file_scanner/lib/ruby-lint/global_scope.rb +6 -0
- data/spec/ruby-lint/analysis/unused_variables_spec.rb +114 -0
- data/spec/ruby-lint/cache_entry_spec.rb +25 -0
- data/spec/ruby-lint/cache_spec.rb +53 -0
- data/spec/ruby-lint/definition/ruby_method_spec.rb +4 -4
- data/spec/ruby-lint/definition/ruby_object_spec.rb +33 -0
- data/spec/ruby-lint/iterator_spec.rb +15 -0
- data/spec/ruby-lint/node_hash_spec.rb +56 -0
- data/spec/ruby-lint/runner_spec.rb +6 -1
- data/spec/ruby-lint/virtual_machine/assignments/variables_spec.rb +2 -2
- data/spec/ruby-lint/virtual_machine/location_spec.rb +64 -0
- data/spec/ruby-lint/virtual_machine/method_call_tracking_spec.rb +64 -0
- data/spec/spec_helper.rb +7 -0
- data/task/generate.rake +1 -1
- data.tar.gz.asc +14 -14
- metadata +34 -7
- metadata.gz.asc +14 -14
- data/debug/memory_usage.rb +0 -14
- data/debug/profile.rb +0 -18
- data/task/profile.rake +0 -27
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RubyLint::NodeHash do
|
4
|
+
before do
|
5
|
+
@node_hash = RubyLint::NodeHash.new
|
6
|
+
@node = s(:integer, 10)
|
7
|
+
end
|
8
|
+
|
9
|
+
example 'set and get information associated with a node' do
|
10
|
+
@node_hash[@node] = 10
|
11
|
+
|
12
|
+
@node_hash[@node].should == 10
|
13
|
+
end
|
14
|
+
|
15
|
+
example 'check if a node has been added' do
|
16
|
+
@node_hash.key?(@node).should == false
|
17
|
+
|
18
|
+
@node_hash[@node] = 10
|
19
|
+
|
20
|
+
@node_hash.key?(@node).should == true
|
21
|
+
end
|
22
|
+
|
23
|
+
example 'return all keys' do
|
24
|
+
@node_hash[@node] = 10
|
25
|
+
|
26
|
+
@node_hash.keys.should == [@node.sha1]
|
27
|
+
end
|
28
|
+
|
29
|
+
example 'return all values' do
|
30
|
+
@node_hash[@node] = 10
|
31
|
+
|
32
|
+
@node_hash.values.should == [10]
|
33
|
+
end
|
34
|
+
|
35
|
+
example 'convert to an Array' do
|
36
|
+
@node_hash[@node] = 10
|
37
|
+
|
38
|
+
@node_hash.to_a.should == [[@node.sha1, 10]]
|
39
|
+
end
|
40
|
+
|
41
|
+
example 'merge with another node hash' do
|
42
|
+
other = RubyLint::NodeHash.new(@node.sha1 => 10)
|
43
|
+
|
44
|
+
@node_hash.merge!(other)
|
45
|
+
|
46
|
+
@node_hash.key?(@node).should == true
|
47
|
+
end
|
48
|
+
|
49
|
+
example 'merge with another hash' do
|
50
|
+
other = {@node => 10}
|
51
|
+
|
52
|
+
@node_hash.merge_hash!(other)
|
53
|
+
|
54
|
+
@node_hash.key?(@node).should == true
|
55
|
+
end
|
56
|
+
end
|
@@ -3,6 +3,11 @@ require 'spec_helper'
|
|
3
3
|
describe RubyLint::Runner do
|
4
4
|
before do
|
5
5
|
@configuration = RubyLint::Configuration.new
|
6
|
+
@cache_dir = Dir.mktmpdir('ruby-lint')
|
7
|
+
end
|
8
|
+
|
9
|
+
after do
|
10
|
+
FileUtils.rm_rf(@cache_dir)
|
6
11
|
end
|
7
12
|
|
8
13
|
example 'run analysis on a single file' do
|
@@ -42,7 +47,7 @@ describe RubyLint::Runner do
|
|
42
47
|
|
43
48
|
example 'associating nodes with external definitions' do
|
44
49
|
files = [fixture_path('associating.rb')]
|
45
|
-
dirs = [fixture_path('
|
50
|
+
dirs = [fixture_path('file_scanner/lib/ruby-lint')]
|
46
51
|
config = RubyLint::Configuration.new(:directories => dirs)
|
47
52
|
runner = RubyLint::Runner.new(config)
|
48
53
|
output = runner.analyze(files)
|
@@ -36,8 +36,8 @@ describe RubyLint::VirtualMachine do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
example 'assign a value to a constant path' do
|
39
|
-
defs = build_definitions('
|
40
|
-
foo = defs.lookup(:const, '
|
39
|
+
defs = build_definitions('module Foo; end; Foo::FOO = 10')
|
40
|
+
foo = defs.lookup(:const, 'Foo').lookup(:const, 'FOO')
|
41
41
|
|
42
42
|
foo.is_a?(ruby_object).should == true
|
43
43
|
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RubyLint::VirtualMachine do
|
4
|
+
context 'definition location information' do
|
5
|
+
example 'store location information of a class' do
|
6
|
+
code = <<-CODE
|
7
|
+
# Example class.
|
8
|
+
class Example
|
9
|
+
end
|
10
|
+
CODE
|
11
|
+
|
12
|
+
defs = build_definitions(code)
|
13
|
+
obj = defs.lookup(:const, 'Example')
|
14
|
+
|
15
|
+
obj.line.should == 2
|
16
|
+
obj.column.should == 0
|
17
|
+
obj.file.should == '(ruby-lint)'
|
18
|
+
end
|
19
|
+
|
20
|
+
example 'store location information of a module' do
|
21
|
+
code = <<-CODE
|
22
|
+
# Example module.
|
23
|
+
module Example
|
24
|
+
end
|
25
|
+
CODE
|
26
|
+
|
27
|
+
defs = build_definitions(code)
|
28
|
+
obj = defs.lookup(:const, 'Example')
|
29
|
+
|
30
|
+
obj.line.should == 2
|
31
|
+
obj.column.should == 0
|
32
|
+
obj.file.should == '(ruby-lint)'
|
33
|
+
end
|
34
|
+
|
35
|
+
example 'store location information of a method' do
|
36
|
+
code = <<-CODE
|
37
|
+
# Example module.
|
38
|
+
def example
|
39
|
+
end
|
40
|
+
CODE
|
41
|
+
|
42
|
+
defs = build_definitions(code)
|
43
|
+
obj = defs.lookup(:instance_method, 'example')
|
44
|
+
|
45
|
+
obj.line.should == 2
|
46
|
+
obj.column.should == 0
|
47
|
+
obj.file.should == '(ruby-lint)'
|
48
|
+
end
|
49
|
+
|
50
|
+
example 'store location information of a variable' do
|
51
|
+
code = <<-CODE
|
52
|
+
# Example assignment
|
53
|
+
number = 10
|
54
|
+
CODE
|
55
|
+
|
56
|
+
defs = build_definitions(code)
|
57
|
+
obj = defs.lookup(:lvar, 'number')
|
58
|
+
|
59
|
+
obj.line.should == 2
|
60
|
+
obj.column.should == 0
|
61
|
+
obj.file.should == '(ruby-lint)'
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RubyLint::VirtualMachine do
|
4
|
+
context 'method call tracking' do
|
5
|
+
before :all do
|
6
|
+
code = <<-CODE
|
7
|
+
def first_method
|
8
|
+
end
|
9
|
+
|
10
|
+
def second_method
|
11
|
+
end
|
12
|
+
|
13
|
+
def third_method
|
14
|
+
first_method
|
15
|
+
second_method
|
16
|
+
String.new
|
17
|
+
end
|
18
|
+
CODE
|
19
|
+
|
20
|
+
definitions = build_definitions(code)
|
21
|
+
@first = definitions.lookup(:instance_method, 'first_method')
|
22
|
+
@second = definitions.lookup(:instance_method, 'second_method')
|
23
|
+
@third = definitions.lookup(:instance_method, 'third_method')
|
24
|
+
@string = definitions.lookup(:const, 'String')
|
25
|
+
end
|
26
|
+
|
27
|
+
example 'track the right amount of method calls' do
|
28
|
+
@third.calls.length.should == 3
|
29
|
+
end
|
30
|
+
|
31
|
+
example 'track call location information' do
|
32
|
+
@third.calls[0].line.should == 8
|
33
|
+
@third.calls[0].column.should == 2
|
34
|
+
|
35
|
+
@third.calls[1].line.should == 9
|
36
|
+
@third.calls[1].column.should == 2
|
37
|
+
end
|
38
|
+
|
39
|
+
example 'track the call definitions' do
|
40
|
+
@third.calls[0].definition.should == @first
|
41
|
+
@third.calls[1].definition.should == @second
|
42
|
+
end
|
43
|
+
|
44
|
+
example 'track call location information in inverse direction' do
|
45
|
+
@first.callers[0].line.should == 8
|
46
|
+
@first.callers[0].column.should == 2
|
47
|
+
|
48
|
+
@second.callers[0].line.should == 9
|
49
|
+
@second.callers[0].column.should == 2
|
50
|
+
end
|
51
|
+
|
52
|
+
example 'track method calls in inverse direction' do
|
53
|
+
@first.callers[0].definition.should == @third
|
54
|
+
@second.callers[0].definition.should == @third
|
55
|
+
end
|
56
|
+
|
57
|
+
example 'should not modify read-only definitions' do
|
58
|
+
method = @string.lookup(:method, 'new')
|
59
|
+
|
60
|
+
@third.calls[2].definition.should == method
|
61
|
+
method.callers.empty?.should == true
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
require 'stringio'
|
3
3
|
require 'redcard'
|
4
|
+
require 'tmpdir'
|
5
|
+
require 'fileutils'
|
6
|
+
require 'tempfile'
|
7
|
+
require 'benchmark'
|
4
8
|
|
5
9
|
if ENV['COVERAGE']
|
6
10
|
require_relative 'support/simplecov'
|
@@ -10,6 +14,9 @@ if ENV['COVERALLS']
|
|
10
14
|
require_relative 'support/coveralls'
|
11
15
|
end
|
12
16
|
|
17
|
+
# Disable caching of RubyLint::Runner for all tests.
|
18
|
+
ENV['RUBY_LINT_DISABLE_CACHE'] = '1'
|
19
|
+
|
13
20
|
require_relative '../lib/ruby-lint'
|
14
21
|
require_relative 'support/building'
|
15
22
|
require_relative 'support/parsing'
|
data/task/generate.rake
CHANGED
data.tar.gz.asc
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG v2.0.
|
2
|
+
Version: GnuPG v2.0.22 (GNU/Linux)
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
=
|
4
|
+
iQIcBAABAgAGBQJSWugYAAoJEPMbESk2SfREyWwQAK79Sx6k+kT89iV25d17afIF
|
5
|
+
8VwlL7+gqQV9NiSeK8hgWHpvy7A+sP1cYifsm5R1nxesN350m3QhdZO9HeJbr97e
|
6
|
+
MSWPToL23rwCNj/J0YMcKDJpRZgU4qQLbPG/ZXprv2mmkxeWziNZnPMdRD1eVXmE
|
7
|
+
rMAIlvCHgzyGpxrNrZ7BFGCrBSZp8jjIEvWoURSQJT7i8JcVE8Pi5KIHuiCIgbyM
|
8
|
+
qp3DPM/K5Gln/7uRyoFjphIz+pOT978kTJzKQwg1dEwttvrW0jAD5K3BxiIy5IF9
|
9
|
+
exO2Ngd+9e/2efDQ5rXK8JCJ7WtChplmuaj1pGn1J3YHfyzZecqV5ei7t2SfP5Pa
|
10
|
+
vMOr1z09V2/IAOi43hWsNm+AUZj+Bg8+AXUmW2bFNxmbPw1J96FJbmRaVJLUcxyf
|
11
|
+
TWibwq+z4q7d8wEcoOEPmzqdHQG9mHf+mvLlhDUKZrgcF0asKJwHNpHt6ppxFdpd
|
12
|
+
X9AXWGUFvKd4/LVxBJVTYNN4ynBzyMe23thVIbcxbaXj6oM1oV6Jz6y3CSnApQm9
|
13
|
+
3hpzLLr4eCak35uHatTWmur4n8XQI8S7W5H6h7VfYTOKdVG5vRa4daYtRMyRSDcz
|
14
|
+
J7L7Y5DgL9GZMF59kuSo1gQFYWLQOxg1zt/t1V/YAubX6A3VU4bcll/CWB7D3eR0
|
15
|
+
o0VlVQPGIgrfvr4SXlBq
|
16
|
+
=ZCLE
|
17
17
|
-----END PGP SIGNATURE-----
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.9.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-
|
11
|
+
date: 2013-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.0.0
|
19
|
+
version: 2.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.0.0
|
26
|
+
version: 2.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: slop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,6 +178,20 @@ dependencies:
|
|
178
178
|
- - '>='
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: gnuplot
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - '>='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
181
195
|
description: A linter and static code analysis tool for Ruby.
|
182
196
|
email: yorickpeterse@gmail.com
|
183
197
|
executables:
|
@@ -195,12 +209,12 @@ files:
|
|
195
209
|
- MANIFEST
|
196
210
|
- README.md
|
197
211
|
- Rakefile
|
212
|
+
- benchmark/virtual_machine.rb
|
198
213
|
- bin/ruby-lint
|
199
214
|
- checksum/.gitkeep
|
200
215
|
- checksum/ruby-lint-0.0.3.gem.sha512
|
201
216
|
- checksum/ruby-lint-0.0.4.gem.sha512
|
202
|
-
-
|
203
|
-
- debug/profile.rb
|
217
|
+
- checksum/ruby-lint-0.0.5.gem.sha512
|
204
218
|
- doc/.gitkeep
|
205
219
|
- doc/DCO.md
|
206
220
|
- doc/architecture.md
|
@@ -222,10 +236,13 @@ files:
|
|
222
236
|
- lib/ruby-lint/analysis/unused_variables.rb
|
223
237
|
- lib/ruby-lint/ast/builder.rb
|
224
238
|
- lib/ruby-lint/ast/node.rb
|
239
|
+
- lib/ruby-lint/cache.rb
|
240
|
+
- lib/ruby-lint/cache_entry.rb
|
225
241
|
- lib/ruby-lint/cli.rb
|
226
242
|
- lib/ruby-lint/cli/analyze.rb
|
227
243
|
- lib/ruby-lint/cli/ast.rb
|
228
244
|
- lib/ruby-lint/cli/base.rb
|
245
|
+
- lib/ruby-lint/cli/plot.rb
|
229
246
|
- lib/ruby-lint/configuration.rb
|
230
247
|
- lib/ruby-lint/constant_loader.rb
|
231
248
|
- lib/ruby-lint/default_names.rb
|
@@ -377,6 +394,7 @@ files:
|
|
377
394
|
- lib/ruby-lint/definitions/core/weak_ref.rb
|
378
395
|
- lib/ruby-lint/definitions/core/yaml.rb
|
379
396
|
- lib/ruby-lint/definitions/core/zero_division_error.rb
|
397
|
+
- lib/ruby-lint/definitions/core/zlib.rb
|
380
398
|
- lib/ruby-lint/definitions/global_variables.rb
|
381
399
|
- lib/ruby-lint/definitions/rails.rb
|
382
400
|
- lib/ruby-lint/definitions/rails/abstract_controller.rb
|
@@ -409,7 +427,9 @@ files:
|
|
409
427
|
- lib/ruby-lint/method_call/base.rb
|
410
428
|
- lib/ruby-lint/method_call/define_method.rb
|
411
429
|
- lib/ruby-lint/method_call/include.rb
|
430
|
+
- lib/ruby-lint/method_call_info.rb
|
412
431
|
- lib/ruby-lint/nested_stack.rb
|
432
|
+
- lib/ruby-lint/node_hash.rb
|
413
433
|
- lib/ruby-lint/parser.rb
|
414
434
|
- lib/ruby-lint/presenter/json.rb
|
415
435
|
- lib/ruby-lint/presenter/text.rb
|
@@ -421,6 +441,7 @@ files:
|
|
421
441
|
- lib/ruby-lint/variable_predicates.rb
|
422
442
|
- lib/ruby-lint/version.rb
|
423
443
|
- lib/ruby-lint/virtual_machine.rb
|
444
|
+
- profiling/virtual_machine.rb
|
424
445
|
- ruby-lint.gemspec
|
425
446
|
- ruby-lint.yml
|
426
447
|
- spec/fixtures/associating.rb
|
@@ -431,6 +452,8 @@ files:
|
|
431
452
|
- spec/fixtures/file_scanner/lib/example/recursive/source.rb
|
432
453
|
- spec/fixtures/file_scanner/lib/example/recursive/target.rb
|
433
454
|
- spec/fixtures/file_scanner/lib/example/user.rb
|
455
|
+
- spec/fixtures/file_scanner/lib/ruby-lint/definition/constant_proxy.rb
|
456
|
+
- spec/fixtures/file_scanner/lib/ruby-lint/global_scope.rb
|
434
457
|
- spec/fixtures/file_scanner/lib/test-dashes/foo.rb
|
435
458
|
- spec/fixtures/file_scanner/rails/app/models/example/user.rb
|
436
459
|
- spec/fixtures/file_scanner/rails/app/models/user.rb
|
@@ -449,6 +472,8 @@ files:
|
|
449
472
|
- spec/ruby-lint/analysis/undefined_variables_spec.rb
|
450
473
|
- spec/ruby-lint/analysis/unused_variables_spec.rb
|
451
474
|
- spec/ruby-lint/ast/node_spec.rb
|
475
|
+
- spec/ruby-lint/cache_entry_spec.rb
|
476
|
+
- spec/ruby-lint/cache_spec.rb
|
452
477
|
- spec/ruby-lint/cli/analyze_spec.rb
|
453
478
|
- spec/ruby-lint/cli/ast_spec.rb
|
454
479
|
- spec/ruby-lint/configuration_spec.rb
|
@@ -468,6 +493,7 @@ files:
|
|
468
493
|
- spec/ruby-lint/inspector_spec.rb
|
469
494
|
- spec/ruby-lint/iterator_spec.rb
|
470
495
|
- spec/ruby-lint/nested_stack_spec.rb
|
496
|
+
- spec/ruby-lint/node_hash_spec.rb
|
471
497
|
- spec/ruby-lint/parser_spec.rb
|
472
498
|
- spec/ruby-lint/presenter/json_spec.rb
|
473
499
|
- spec/ruby-lint/presenter/text_spec.rb
|
@@ -497,6 +523,8 @@ files:
|
|
497
523
|
- spec/ruby-lint/virtual_machine/global_variables_spec.rb
|
498
524
|
- spec/ruby-lint/virtual_machine/inherit_kernel_spec.rb
|
499
525
|
- spec/ruby-lint/virtual_machine/interpolation_spec.rb
|
526
|
+
- spec/ruby-lint/virtual_machine/location_spec.rb
|
527
|
+
- spec/ruby-lint/virtual_machine/method_call_tracking_spec.rb
|
500
528
|
- spec/ruby-lint/virtual_machine/methods/attr_spec.rb
|
501
529
|
- spec/ruby-lint/virtual_machine/methods/define_method_spec.rb
|
502
530
|
- spec/ruby-lint/virtual_machine/methods/defining_spec.rb
|
@@ -524,7 +552,6 @@ files:
|
|
524
552
|
- task/generate.rake
|
525
553
|
- task/graphviz.rake
|
526
554
|
- task/manifest.rake
|
527
|
-
- task/profile.rake
|
528
555
|
- task/tag.rake
|
529
556
|
- task/test.rake
|
530
557
|
- task/todo.rake
|
metadata.gz.asc
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG v2.0.
|
2
|
+
Version: GnuPG v2.0.22 (GNU/Linux)
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
=
|
4
|
+
iQIcBAABAgAGBQJSWugYAAoJEPMbESk2SfREyAwP/Rr9jTup5rlAjLVhAYYtXnjO
|
5
|
+
pUrPFcsUUwYS/5N/o3p2HlQK3bbXehfQVJ235N4faF7eyS8V07Ak4BDz3aYkYny3
|
6
|
+
vFwYbkbPOcptbNRbSyNo+tF6OzXuZ+dSRB9XXbZ/OadTAKDyGfcouGvMLcP01CeF
|
7
|
+
1KaQOTzn/Mi2Jg6gXbEoGzoG1AjHLp7r2IVYZ97anGbQD2nprcMVKGZwXP4qTfZH
|
8
|
+
qB6Tm2DAogoziMDcqXRbOLFrEJe5LU88SAqR9Ks7x158D40dAbw/9WcoQBgdRZBQ
|
9
|
+
97hxbOa5pgOPMI+TMojeDsT1PEASScVxO6OuNsMnZt/30roxv6Lb+G1MpeYk4HV0
|
10
|
+
7oaYAvTwKF+WQeFSmPvnkJ3dWaJwq3danWlm4L51YNP4ulGZf86ApoSEura4Kjpa
|
11
|
+
BXVIPlzjNESrQ8Lo7wu+h+ZZKGJzFFbHliF3s6wkdRB5WInjSb5ajSkhZIOyLi8b
|
12
|
+
p4OxxR7aSiQfbSlrcdmhVCHpMAARG7rQbYvQTp01NbwJmzmmsx6PiYLzLQNrW+v+
|
13
|
+
pQMCqkmIlbIKrZfb/YyXkB70/nBiPMLOM3oz/X1t8EyuOJd2Tc6IO5n8n3ilvZdW
|
14
|
+
WhljFlEj11DGWeKhrRiWZcTOkU7SMHG9IVbPfhZrXBwsn2MzzBjSB78oFPbjHAFq
|
15
|
+
xNmx+U9HE3H7mMpce8r5
|
16
|
+
=Zjwg
|
17
17
|
-----END PGP SIGNATURE-----
|