ruby-lint 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +43 -29
- data/LICENSE +1 -1
- data/README.md +0 -1
- data/bin/ruby-lint +91 -3
- data/checksum/ruby-lint-1.1.0.gem.sha512 +1 -0
- data/doc/changelog.md +30 -0
- data/doc/code_analysis.md +13 -0
- data/doc/configuration.md +5 -24
- data/lib/ruby-lint.rb +7 -10
- data/lib/ruby-lint/analysis/argument_amount.rb +2 -0
- data/lib/ruby-lint/analysis/base.rb +12 -0
- data/lib/ruby-lint/analysis/pedantics.rb +2 -0
- data/lib/ruby-lint/analysis/shadowing_variables.rb +2 -0
- data/lib/ruby-lint/analysis/undefined_methods.rb +5 -2
- data/lib/ruby-lint/analysis/undefined_variables.rb +2 -0
- data/lib/ruby-lint/analysis/unused_variables.rb +2 -0
- data/lib/ruby-lint/analysis/useless_equality_checks.rb +2 -0
- data/lib/ruby-lint/ast/node.rb +0 -15
- data/lib/ruby-lint/command.rb +100 -0
- data/lib/ruby-lint/configuration.rb +35 -66
- data/lib/ruby-lint/constant_path.rb +7 -2
- data/lib/ruby-lint/definition/ruby_object.rb +20 -6
- data/lib/ruby-lint/definitions/core/argf.rb +3 -3
- data/lib/ruby-lint/definitions/gems/minitest.rb +792 -0
- data/lib/ruby-lint/file_list.rb +1 -1
- data/lib/ruby-lint/file_loader.rb +2 -20
- data/lib/ruby-lint/file_scanner.rb +11 -2
- data/lib/ruby-lint/method_evaluation.rb +21 -0
- data/lib/ruby-lint/presenter/base.rb +18 -0
- data/lib/ruby-lint/presenter/json.rb +3 -1
- data/lib/ruby-lint/presenter/syntastic.rb +3 -1
- data/lib/ruby-lint/presenter/text.rb +3 -1
- data/lib/ruby-lint/runner.rb +6 -63
- data/lib/ruby-lint/variable_predicates.rb +3 -3
- data/lib/ruby-lint/version.rb +1 -1
- data/lib/ruby-lint/virtual_machine.rb +4 -1
- data/ruby-lint.gemspec +13 -4
- metadata +12 -187
- data/.editorconfig +0 -15
- data/.gitignore +0 -6
- data/.ruby-version +0 -1
- data/.travis.yml +0 -19
- data/Gemfile +0 -15
- data/MANIFEST +0 -469
- data/Rakefile +0 -25
- data/benchmark/bootup.rb +0 -13
- data/benchmark/virtual_machine.rb +0 -17
- data/checksum/.gitkeep +0 -0
- data/doc/.gitkeep +0 -0
- data/doc/css/.gitkeep +0 -0
- data/doc/images/.gitkeep +0 -0
- data/gen/rails/constants.txt +0 -12
- data/gen/rails/requires.rb +0 -2
- data/gen/stdlib/constants.rb +0 -30
- data/gen/stdlib/constants.txt +0 -214
- data/gen/stdlib/requires.rb +0 -64
- data/lib/ruby-lint/benchmark/average.rb +0 -115
- data/lib/ruby-lint/cache.rb +0 -121
- data/lib/ruby-lint/cache_entry.rb +0 -44
- data/lib/ruby-lint/cli.rb +0 -4
- data/lib/ruby-lint/cli/analyze.rb +0 -209
- data/lib/ruby-lint/cli/base.rb +0 -103
- data/lib/ruby-lint/cli/cache.rb +0 -60
- data/lib/ruby-lint/default_names.rb +0 -19
- data/lib/ruby-lint/definitions/gems/.gitkeep +0 -0
- data/lib/ruby-lint/node_hash.rb +0 -105
- data/misc/stdlib.rb +0 -66
- data/profiling/virtual_machine.rb +0 -20
- data/ruby-lint.yml +0 -7
- data/spec/fixtures/associating.rb +0 -7
- data/spec/fixtures/complex/rails/basic_controller.rb +0 -9
- data/spec/fixtures/complex/rcap.rb +0 -67
- data/spec/fixtures/complex/slop.rb +0 -701
- data/spec/fixtures/config.yml +0 -8
- data/spec/fixtures/deeply/nested/file.rb +0 -1
- data/spec/fixtures/file_scanner/lib/example/recursive/source.rb +0 -6
- data/spec/fixtures/file_scanner/lib/example/recursive/target.rb +0 -8
- data/spec/fixtures/file_scanner/lib/example/user.rb +0 -6
- data/spec/fixtures/file_scanner/lib/ruby-lint/definition/constant_proxy.rb +0 -6
- data/spec/fixtures/file_scanner/lib/ruby-lint/global_scope.rb +0 -6
- data/spec/fixtures/file_scanner/lib/test-dashes/foo.rb +0 -4
- data/spec/fixtures/file_scanner/rails/app/models/example/user.rb +0 -6
- data/spec/fixtures/file_scanner/rails/app/models/user.rb +0 -4
- data/spec/fixtures/invalid.rb +0 -3
- data/spec/fixtures/invalid_2.rb +0 -3
- data/spec/fixtures/syntax_error.rb +0 -1
- data/spec/fixtures/uses_external.rb +0 -1
- data/spec/fixtures/uses_external_invalid.rb +0 -3
- data/spec/fixtures/uses_external_namespace.rb +0 -1
- data/spec/fixtures/valid.rb +0 -3
- data/spec/ruby-lint/analysis/argument_amount_spec.rb +0 -131
- data/spec/ruby-lint/analysis/base_spec.rb +0 -24
- data/spec/ruby-lint/analysis/pedantics_spec.rb +0 -63
- data/spec/ruby-lint/analysis/shadowing_variables_spec.rb +0 -85
- data/spec/ruby-lint/analysis/undefined_methods_spec.rb +0 -337
- data/spec/ruby-lint/analysis/undefined_variables_spec.rb +0 -138
- data/spec/ruby-lint/analysis/unused_variables_spec.rb +0 -270
- data/spec/ruby-lint/analysis/useless_equality_checks_spec.rb +0 -107
- data/spec/ruby-lint/ast/node_spec.rb +0 -39
- data/spec/ruby-lint/cache_entry_spec.rb +0 -25
- data/spec/ruby-lint/cache_spec.rb +0 -53
- data/spec/ruby-lint/cli/analyze_spec.rb +0 -52
- data/spec/ruby-lint/configuration_spec.rb +0 -126
- data/spec/ruby-lint/constant_loader_spec.rb +0 -79
- data/spec/ruby-lint/constant_path.rb +0 -63
- data/spec/ruby-lint/definition/constant_proxy_spec.rb +0 -85
- data/spec/ruby-lint/definition/dsl_spec.rb +0 -135
- data/spec/ruby-lint/definition/registry_spec.rb +0 -106
- data/spec/ruby-lint/definition/ruby_method_spec.rb +0 -106
- data/spec/ruby-lint/definition/ruby_object_spec.rb +0 -264
- data/spec/ruby-lint/definition_builder/primitive_spec.rb +0 -62
- data/spec/ruby-lint/definition_builder/ruby_class_spec.rb +0 -107
- data/spec/ruby-lint/definition_builder/ruby_method_spec.rb +0 -53
- data/spec/ruby-lint/definition_builder/ruby_module_spec.rb +0 -52
- data/spec/ruby-lint/definitions/argv_spec.rb +0 -18
- data/spec/ruby-lint/definitions/env_spec.rb +0 -13
- data/spec/ruby-lint/definitions/file_spec.rb +0 -17
- data/spec/ruby-lint/definitions/fixnum_spec.rb +0 -18
- data/spec/ruby-lint/definitions/io_spec.rb +0 -15
- data/spec/ruby-lint/definitions/kernel_spec.rb +0 -18
- data/spec/ruby-lint/definitions/range_spec.rb +0 -21
- data/spec/ruby-lint/definitions/string_spec.rb +0 -20
- data/spec/ruby-lint/docstring/mapping.rb +0 -27
- data/spec/ruby-lint/docstring/parser_spec.rb +0 -88
- data/spec/ruby-lint/extensions/string_spec.rb +0 -7
- data/spec/ruby-lint/file_list_spec.rb +0 -25
- data/spec/ruby-lint/file_loader_spec.rb +0 -69
- data/spec/ruby-lint/file_scanner_spec.rb +0 -84
- data/spec/ruby-lint/inspector_spec.rb +0 -224
- data/spec/ruby-lint/iterator_spec.rb +0 -151
- data/spec/ruby-lint/method_call/.gitkeep +0 -0
- data/spec/ruby-lint/nested_stack_spec.rb +0 -23
- data/spec/ruby-lint/node_hash_spec.rb +0 -56
- data/spec/ruby-lint/parser_spec.rb +0 -38
- data/spec/ruby-lint/presenter/json_spec.rb +0 -58
- data/spec/ruby-lint/presenter/syntastic_spec.rb +0 -49
- data/spec/ruby-lint/presenter/text_spec.rb +0 -49
- data/spec/ruby-lint/report/entry_spec.rb +0 -58
- data/spec/ruby-lint/report_spec.rb +0 -39
- data/spec/ruby-lint/runner_spec.rb +0 -74
- data/spec/ruby-lint/variable_predicates_spec.rb +0 -30
- data/spec/ruby-lint/virtual_machine/alias_spec.rb +0 -55
- data/spec/ruby-lint/virtual_machine/assignments/arrays_spec.rb +0 -87
- data/spec/ruby-lint/virtual_machine/assignments/assignment_arguments_spec.rb +0 -14
- data/spec/ruby-lint/virtual_machine/assignments/constants_spec.rb +0 -23
- data/spec/ruby-lint/virtual_machine/assignments/hashes_spec.rb +0 -52
- data/spec/ruby-lint/virtual_machine/assignments/optional_spec.rb +0 -41
- data/spec/ruby-lint/virtual_machine/assignments/range_spec.rb +0 -28
- data/spec/ruby-lint/virtual_machine/assignments/return_values_spec.rb +0 -78
- data/spec/ruby-lint/virtual_machine/assignments/variables_spec.rb +0 -130
- data/spec/ruby-lint/virtual_machine/associate_nodes_spec.rb +0 -61
- data/spec/ruby-lint/virtual_machine/autoloading_spec.rb +0 -18
- data/spec/ruby-lint/virtual_machine/blocks_spec.rb +0 -90
- data/spec/ruby-lint/virtual_machine/classes/class_methods_spec.rb +0 -21
- data/spec/ruby-lint/virtual_machine/classes/extending_spec.rb +0 -109
- data/spec/ruby-lint/virtual_machine/classes/redefining_spec.rb +0 -51
- data/spec/ruby-lint/virtual_machine/classes/sclass_spec.rb +0 -96
- data/spec/ruby-lint/virtual_machine/classes/scoping_spec.rb +0 -60
- data/spec/ruby-lint/virtual_machine/complex/rails_spec.rb +0 -21
- data/spec/ruby-lint/virtual_machine/complex/rcap_spec.rb +0 -15
- data/spec/ruby-lint/virtual_machine/complex/slop_spec.rb +0 -16
- data/spec/ruby-lint/virtual_machine/constants_spec.rb +0 -31
- data/spec/ruby-lint/virtual_machine/for_spec.rb +0 -16
- data/spec/ruby-lint/virtual_machine/freeze_spec.rb +0 -13
- data/spec/ruby-lint/virtual_machine/global_variables_spec.rb +0 -15
- data/spec/ruby-lint/virtual_machine/inherit_kernel_spec.rb +0 -15
- data/spec/ruby-lint/virtual_machine/interpolation_spec.rb +0 -12
- data/spec/ruby-lint/virtual_machine/location_spec.rb +0 -64
- data/spec/ruby-lint/virtual_machine/method_call_tracking_spec.rb +0 -57
- data/spec/ruby-lint/virtual_machine/methods/attr_spec.rb +0 -182
- data/spec/ruby-lint/virtual_machine/methods/calls_spec.rb +0 -25
- data/spec/ruby-lint/virtual_machine/methods/define_method_spec.rb +0 -41
- data/spec/ruby-lint/virtual_machine/methods/defining_spec.rb +0 -40
- data/spec/ruby-lint/virtual_machine/methods/docstrings_spec.rb +0 -80
- data/spec/ruby-lint/virtual_machine/methods/exporting_spec.rb +0 -19
- data/spec/ruby-lint/virtual_machine/methods/kernel_spec.rb +0 -25
- data/spec/ruby-lint/virtual_machine/methods/parameters_spec.rb +0 -89
- data/spec/ruby-lint/virtual_machine/methods/patching_spec.rb +0 -20
- data/spec/ruby-lint/virtual_machine/methods/scoping_spec.rb +0 -63
- data/spec/ruby-lint/virtual_machine/methods/square_bracket_spec.rb +0 -32
- data/spec/ruby-lint/virtual_machine/methods/visibility_spec.rb +0 -64
- data/spec/ruby-lint/virtual_machine/modules_spec.rb +0 -205
- data/spec/ruby-lint/virtual_machine/reference_amount_spec.rb +0 -81
- data/spec/ruby-lint/virtual_machine/self_spec.rb +0 -37
- data/spec/ruby-lint/virtual_machine/unused_spec.rb +0 -17
- data/spec/spec_helper.rb +0 -28
- data/spec/support/building.rb +0 -50
- data/spec/support/coveralls.rb +0 -5
- data/spec/support/definitions.rb +0 -39
- data/spec/support/fixtures.rb +0 -20
- data/spec/support/parsing.rb +0 -30
- data/spec/support/simplecov.rb +0 -18
- data/spec/support/versions.rb +0 -9
- data/task/build.rake +0 -4
- data/task/checksum.rake +0 -13
- data/task/coverage.rake +0 -6
- data/task/doc.rake +0 -16
- data/task/generate.rake +0 -77
- data/task/graphviz.rake +0 -12
- data/task/manifest.rake +0 -8
- data/task/tag.rake +0 -6
- data/task/test.rake +0 -4
- data/task/todo.rake +0 -6
- data/task/travis.rake +0 -8
data/Rakefile
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require_relative 'lib/ruby-lint/definition_generator'
|
2
|
-
require_relative 'lib/ruby-lint/rake_task'
|
3
|
-
|
4
|
-
require 'yaml'
|
5
|
-
require 'bundler/gem_tasks'
|
6
|
-
require 'digest/sha2'
|
7
|
-
require 'coveralls/rake/task'
|
8
|
-
require 'rake/clean'
|
9
|
-
|
10
|
-
RubyLint::RakeTask.new do |task|
|
11
|
-
task.name = 'lint'
|
12
|
-
task.files = ['./lib/ruby-lint']
|
13
|
-
end
|
14
|
-
|
15
|
-
Coveralls::RakeTask.new
|
16
|
-
|
17
|
-
GEMSPEC = Gem::Specification.load('ruby-lint.gemspec')
|
18
|
-
|
19
|
-
CLEAN.include(['coverage', 'yardoc'])
|
20
|
-
|
21
|
-
Dir['./task/*.rake'].each do |task|
|
22
|
-
import(task)
|
23
|
-
end
|
24
|
-
|
25
|
-
task :default => :test
|
data/benchmark/bootup.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# This benchmark script measures the amount of time it takes to boot up the CLI
|
2
|
-
# and analyze the VM with caching disabled.
|
3
|
-
|
4
|
-
require_relative '../lib/ruby-lint/benchmark/average'
|
5
|
-
|
6
|
-
script = File.expand_path('../../bin/ruby-lint', __FILE__)
|
7
|
-
command = "#{script} analyze --disable-cache lib/ruby-lint/virtual_machine.rb"
|
8
|
-
|
9
|
-
RubyLint::Benchmark::Average.measure do
|
10
|
-
output = `#{command}`
|
11
|
-
|
12
|
-
raise "Command failed: #{output}" unless $?.success?
|
13
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# This benchmarks N runs of the VM and outputs them to the console making it
|
2
|
-
# easy to pass the data to tools such as `ministat`
|
3
|
-
# (http://www.freebsd.org/cgi/man.cgi?ministat).
|
4
|
-
|
5
|
-
require_relative '../lib/ruby-lint'
|
6
|
-
require 'benchmark'
|
7
|
-
|
8
|
-
parser = RubyLint::Parser.new
|
9
|
-
file = File.expand_path('../../lib/ruby-lint/virtual_machine.rb', __FILE__)
|
10
|
-
ast = parser.parse(File.read(file), file)
|
11
|
-
amount = 1000
|
12
|
-
|
13
|
-
amount.times do
|
14
|
-
timing = Benchmark.measure { RubyLint::VirtualMachine.new.run(ast) }
|
15
|
-
|
16
|
-
puts timing.real
|
17
|
-
end
|
data/checksum/.gitkeep
DELETED
File without changes
|
data/doc/.gitkeep
DELETED
File without changes
|
data/doc/css/.gitkeep
DELETED
File without changes
|
data/doc/images/.gitkeep
DELETED
File without changes
|
data/gen/rails/constants.txt
DELETED
data/gen/rails/requires.rb
DELETED
data/gen/stdlib/constants.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# Loads all stdlib files and writes a list of constants to a text file. This is
|
2
|
-
# run outside of Rake to ensure a clean environment not polluted by Rake and
|
3
|
-
# other loaded dependencies.
|
4
|
-
|
5
|
-
require_relative 'requires'
|
6
|
-
|
7
|
-
# These are maintained manually.
|
8
|
-
ignore = DATA.read.split("\n")
|
9
|
-
consts = Object.constants.map(&:to_s) - ignore
|
10
|
-
|
11
|
-
File.open(File.expand_path('../constants.txt', __FILE__), 'w') do |handle|
|
12
|
-
handle.write(consts.sort.join("\n"))
|
13
|
-
end
|
14
|
-
|
15
|
-
__END__
|
16
|
-
ARGV
|
17
|
-
BasicObject
|
18
|
-
Class
|
19
|
-
ENV
|
20
|
-
Kernel
|
21
|
-
Module
|
22
|
-
RSS
|
23
|
-
Rubinius
|
24
|
-
RubyLex
|
25
|
-
RubySL
|
26
|
-
RubyToken
|
27
|
-
Rubysl
|
28
|
-
STDERR
|
29
|
-
STDIN
|
30
|
-
STDOUT
|
data/gen/stdlib/constants.txt
DELETED
@@ -1,214 +0,0 @@
|
|
1
|
-
ARGF
|
2
|
-
Abbrev
|
3
|
-
Addrinfo
|
4
|
-
ArgumentError
|
5
|
-
Array
|
6
|
-
Base64
|
7
|
-
BasicSocket
|
8
|
-
Benchmark
|
9
|
-
Bignum
|
10
|
-
Binding
|
11
|
-
CGI
|
12
|
-
CLEANINGS
|
13
|
-
CMath
|
14
|
-
COMMON_HEADERS
|
15
|
-
COMMON_LIBS
|
16
|
-
COMPILE_C
|
17
|
-
COMPILE_CXX
|
18
|
-
COMPILE_RULES
|
19
|
-
CONFIG
|
20
|
-
CONFTEST
|
21
|
-
CONFTEST_C
|
22
|
-
COUTFLAG
|
23
|
-
CPPOUTFILE
|
24
|
-
CROSS_COMPILING
|
25
|
-
CSV
|
26
|
-
CXX_EXT
|
27
|
-
C_EXT
|
28
|
-
Comparable
|
29
|
-
Complex
|
30
|
-
ConditionVariable
|
31
|
-
Config
|
32
|
-
DATA
|
33
|
-
DRb
|
34
|
-
DRbIdConv
|
35
|
-
DRbObject
|
36
|
-
DRbUndumped
|
37
|
-
Data
|
38
|
-
Date
|
39
|
-
DateTime
|
40
|
-
Delegator
|
41
|
-
Digest
|
42
|
-
Dir
|
43
|
-
EOFError
|
44
|
-
ERB
|
45
|
-
EXPORT_PREFIX
|
46
|
-
Encoding
|
47
|
-
EncodingError
|
48
|
-
Enumerable
|
49
|
-
Enumerator
|
50
|
-
Errno
|
51
|
-
Etc
|
52
|
-
Exception
|
53
|
-
Exception2MessageMapper
|
54
|
-
ExceptionForMatrix
|
55
|
-
FALSE
|
56
|
-
FailedMessage
|
57
|
-
FalseClass
|
58
|
-
Fcntl
|
59
|
-
Fiber
|
60
|
-
FiberError
|
61
|
-
File
|
62
|
-
FileTest
|
63
|
-
FileUtils
|
64
|
-
Find
|
65
|
-
Fixnum
|
66
|
-
Float
|
67
|
-
FloatDomainError
|
68
|
-
Forwardable
|
69
|
-
GC
|
70
|
-
GServer
|
71
|
-
Gem
|
72
|
-
GetoptLong
|
73
|
-
HDR_EXT
|
74
|
-
Hash
|
75
|
-
INSTALL_DIRS
|
76
|
-
IO
|
77
|
-
IOError
|
78
|
-
IPAddr
|
79
|
-
IPSocket
|
80
|
-
IRB
|
81
|
-
IndexError
|
82
|
-
Integer
|
83
|
-
Interrupt
|
84
|
-
JSON
|
85
|
-
Kconv
|
86
|
-
KeyError
|
87
|
-
LIBARG
|
88
|
-
LIBPATHFLAG
|
89
|
-
LINK_SO
|
90
|
-
LoadError
|
91
|
-
LocalJumpError
|
92
|
-
Logger
|
93
|
-
Logging
|
94
|
-
MAIN_DOES_NOTHING
|
95
|
-
MakeMakefile
|
96
|
-
Marshal
|
97
|
-
MatchData
|
98
|
-
Math
|
99
|
-
Matrix
|
100
|
-
Method
|
101
|
-
Monitor
|
102
|
-
MonitorMixin
|
103
|
-
Mutex
|
104
|
-
Mutex_m
|
105
|
-
NIL
|
106
|
-
NKF
|
107
|
-
NameError
|
108
|
-
NilClass
|
109
|
-
NoMemoryError
|
110
|
-
NoMethodError
|
111
|
-
NotImplementedError
|
112
|
-
Numeric
|
113
|
-
ORIG_LIBPATH
|
114
|
-
OUTFLAG
|
115
|
-
Object
|
116
|
-
ObjectSpace
|
117
|
-
Observable
|
118
|
-
Open3
|
119
|
-
OpenSSL
|
120
|
-
OpenStruct
|
121
|
-
OpenURI
|
122
|
-
OptionParser
|
123
|
-
PP
|
124
|
-
PStore
|
125
|
-
Pathname
|
126
|
-
PrettyPrint
|
127
|
-
Prime
|
128
|
-
Proc
|
129
|
-
Process
|
130
|
-
Profiler__
|
131
|
-
Psych
|
132
|
-
Queue
|
133
|
-
RPATHFLAG
|
134
|
-
RUBYGEMS_ACTIVATION_MONITOR
|
135
|
-
RUBY_COPYRIGHT
|
136
|
-
RUBY_DESCRIPTION
|
137
|
-
RUBY_ENGINE
|
138
|
-
RUBY_PATCHLEVEL
|
139
|
-
RUBY_PLATFORM
|
140
|
-
RUBY_RELEASE_DATE
|
141
|
-
RUBY_REVISION
|
142
|
-
RUBY_VERSION
|
143
|
-
RULE_SUBST
|
144
|
-
Random
|
145
|
-
Range
|
146
|
-
RangeError
|
147
|
-
Rational
|
148
|
-
RbConfig
|
149
|
-
Readline
|
150
|
-
Regexp
|
151
|
-
RegexpError
|
152
|
-
Resolv
|
153
|
-
RubyVM
|
154
|
-
RuntimeError
|
155
|
-
SRC_EXT
|
156
|
-
STRING_OR_FAILED_FORMAT
|
157
|
-
ScanError
|
158
|
-
Scanf
|
159
|
-
ScriptError
|
160
|
-
SecureRandom
|
161
|
-
SecurityError
|
162
|
-
Set
|
163
|
-
Shellwords
|
164
|
-
Signal
|
165
|
-
SignalException
|
166
|
-
SimpleDelegator
|
167
|
-
SingleForwardable
|
168
|
-
Singleton
|
169
|
-
SizedQueue
|
170
|
-
Socket
|
171
|
-
SocketError
|
172
|
-
SortedSet
|
173
|
-
StandardError
|
174
|
-
StopIteration
|
175
|
-
String
|
176
|
-
StringIO
|
177
|
-
StringScanner
|
178
|
-
Struct
|
179
|
-
Symbol
|
180
|
-
SyntaxError
|
181
|
-
SystemCallError
|
182
|
-
SystemExit
|
183
|
-
SystemStackError
|
184
|
-
TCPServer
|
185
|
-
TCPSocket
|
186
|
-
TOPLEVEL_BINDING
|
187
|
-
TRUE
|
188
|
-
TRY_LINK
|
189
|
-
TSort
|
190
|
-
Tempfile
|
191
|
-
ThWait
|
192
|
-
Thread
|
193
|
-
ThreadError
|
194
|
-
ThreadGroup
|
195
|
-
ThreadsWait
|
196
|
-
Time
|
197
|
-
Timeout
|
198
|
-
TimeoutError
|
199
|
-
TracePoint
|
200
|
-
TrueClass
|
201
|
-
TypeError
|
202
|
-
UDPSocket
|
203
|
-
UNIVERSAL_INTS
|
204
|
-
UNIXServer
|
205
|
-
UNIXSocket
|
206
|
-
URI
|
207
|
-
UnboundMethod
|
208
|
-
Vector
|
209
|
-
WEBrick
|
210
|
-
WeakRef
|
211
|
-
XMLRPC
|
212
|
-
YAML
|
213
|
-
ZeroDivisionError
|
214
|
-
Zlib
|
data/gen/stdlib/requires.rb
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
require 'abbrev'
|
2
|
-
require 'base64'
|
3
|
-
require 'benchmark'
|
4
|
-
require 'cgi'
|
5
|
-
require 'cmath'
|
6
|
-
require 'complex'
|
7
|
-
require 'csv'
|
8
|
-
require 'date'
|
9
|
-
require 'delegate'
|
10
|
-
require 'digest'
|
11
|
-
require 'drb'
|
12
|
-
require 'e2mmap'
|
13
|
-
require 'English'
|
14
|
-
require 'erb'
|
15
|
-
require 'expect'
|
16
|
-
require 'fileutils'
|
17
|
-
require 'find'
|
18
|
-
require 'forwardable'
|
19
|
-
require 'getoptlong'
|
20
|
-
require 'gserver'
|
21
|
-
require 'ipaddr'
|
22
|
-
require 'irb'
|
23
|
-
require 'json'
|
24
|
-
require 'kconv'
|
25
|
-
require 'logger'
|
26
|
-
require 'mathn'
|
27
|
-
require 'matrix'
|
28
|
-
require 'mkmf'
|
29
|
-
require 'monitor'
|
30
|
-
require 'mutex_m'
|
31
|
-
require 'observer'
|
32
|
-
require 'open3'
|
33
|
-
require 'openssl'
|
34
|
-
require 'open-uri'
|
35
|
-
require 'optparse'
|
36
|
-
require 'ostruct'
|
37
|
-
require 'pathname'
|
38
|
-
require 'pp'
|
39
|
-
require 'prettyprint'
|
40
|
-
require 'prime'
|
41
|
-
require 'profiler'
|
42
|
-
require 'pstore'
|
43
|
-
require 'rational'
|
44
|
-
require 'resolv'
|
45
|
-
require 'scanf'
|
46
|
-
require 'securerandom'
|
47
|
-
require 'set'
|
48
|
-
require 'shellwords'
|
49
|
-
require 'singleton'
|
50
|
-
require 'socket'
|
51
|
-
require 'stringio'
|
52
|
-
require 'tempfile'
|
53
|
-
require 'thread'
|
54
|
-
require 'thwait'
|
55
|
-
require 'timeout'
|
56
|
-
require 'time'
|
57
|
-
require 'tmpdir'
|
58
|
-
require 'tsort'
|
59
|
-
require 'uri'
|
60
|
-
require 'weakref'
|
61
|
-
require 'webrick'
|
62
|
-
require 'xmlrpc'
|
63
|
-
require 'yaml'
|
64
|
-
require 'zlib'
|
@@ -1,115 +0,0 @@
|
|
1
|
-
require 'benchmark'
|
2
|
-
|
3
|
-
module RubyLint
|
4
|
-
module Benchmark
|
5
|
-
##
|
6
|
-
# Benchmark class for measuring min/max/avg timings of a block of Ruby
|
7
|
-
# code.
|
8
|
-
#
|
9
|
-
# @!attribute [r] iterations
|
10
|
-
# @return [Numeric]
|
11
|
-
#
|
12
|
-
# @!attribute [r] precision
|
13
|
-
# @return [Numeric]
|
14
|
-
#
|
15
|
-
class Average
|
16
|
-
attr_reader :iterations, :precision
|
17
|
-
|
18
|
-
##
|
19
|
-
# @return [Array]
|
20
|
-
#
|
21
|
-
AVERAGE_COLUMNS = %w(Iterations Minimum Maximum Average)
|
22
|
-
|
23
|
-
##
|
24
|
-
# @return [String]
|
25
|
-
#
|
26
|
-
SEPARATOR = ' | '
|
27
|
-
|
28
|
-
##
|
29
|
-
# Shorthand method for easily measuring a block.
|
30
|
-
#
|
31
|
-
# @see #measure
|
32
|
-
#
|
33
|
-
def self.measure(*args, &block)
|
34
|
-
new(*args).measure(&block)
|
35
|
-
end
|
36
|
-
|
37
|
-
##
|
38
|
-
# @param [Numeric] iterations The amount of times to call the block.
|
39
|
-
# @param [Numeric] precision The amount of decimals to display.
|
40
|
-
#
|
41
|
-
def initialize(iterations = 100, precision = 6)
|
42
|
-
@iterations = iterations
|
43
|
-
@precision = precision
|
44
|
-
end
|
45
|
-
|
46
|
-
##
|
47
|
-
# Runs the given block N times and displays the minimum, maximum and average
|
48
|
-
# execution times in secnds.
|
49
|
-
#
|
50
|
-
def measure
|
51
|
-
timings = []
|
52
|
-
|
53
|
-
iterations.times do
|
54
|
-
timings << ::Benchmark.measure { yield }.real
|
55
|
-
end
|
56
|
-
|
57
|
-
avg = timings.inject(:+) / iterations
|
58
|
-
|
59
|
-
show(timings.min, timings.max, avg)
|
60
|
-
end
|
61
|
-
|
62
|
-
##
|
63
|
-
# @param [Numeric] min
|
64
|
-
# @param [Numeric] max
|
65
|
-
# @param [Numeric] avg
|
66
|
-
#
|
67
|
-
def show(min, max, avg)
|
68
|
-
values = [iterations.to_s] + format_values([min, max, avg])
|
69
|
-
padding = padding_length(AVERAGE_COLUMNS + values)
|
70
|
-
|
71
|
-
show_header(padding)
|
72
|
-
|
73
|
-
puts values.map { |val| val.ljust(padding) }.join(SEPARATOR)
|
74
|
-
end
|
75
|
-
|
76
|
-
private
|
77
|
-
|
78
|
-
##
|
79
|
-
# Display the header.
|
80
|
-
#
|
81
|
-
# @param [Numeric] padding
|
82
|
-
#
|
83
|
-
def show_header(padding)
|
84
|
-
header = format_header(padding)
|
85
|
-
|
86
|
-
puts header
|
87
|
-
puts header.gsub('|', '+').gsub(/[^+]/, '-')
|
88
|
-
end
|
89
|
-
|
90
|
-
##
|
91
|
-
# @param [Array] values
|
92
|
-
# @return [Array<String>]
|
93
|
-
#
|
94
|
-
def format_values(values)
|
95
|
-
return values.map { |val| "#{val.round(precision)} sec" }
|
96
|
-
end
|
97
|
-
|
98
|
-
##
|
99
|
-
# @param [Numeric] padding
|
100
|
-
# @return [String]
|
101
|
-
#
|
102
|
-
def format_header(padding)
|
103
|
-
return AVERAGE_COLUMNS.map { |val| val.ljust(padding) }.join(SEPARATOR)
|
104
|
-
end
|
105
|
-
|
106
|
-
##
|
107
|
-
# @param [Array] values
|
108
|
-
# @return [Numeric]
|
109
|
-
#
|
110
|
-
def padding_length(values)
|
111
|
-
return values.sort_by { |value| value.length }.last.length
|
112
|
-
end
|
113
|
-
end # Average
|
114
|
-
end # Benchmark
|
115
|
-
end # RubyLint
|