autoloaded 2.1.1 → 2.2.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.
- checksums.yaml +4 -4
- data/.gitignore +4 -8
- data/.rspec +1 -1
- data/.travis.yml +15 -0
- data/Gemfile +12 -9
- data/Gemfile_ci_mri_19 +7 -0
- data/Guardfile +21 -22
- data/History.md +10 -4
- data/README.md +47 -30
- data/Rakefile +4 -0
- data/autoloaded.gemspec +37 -36
- data/bin/console +10 -0
- data/bin/setup +8 -0
- data/lib/autoloaded/autoloader.rb +6 -0
- data/lib/autoloaded/deprecation.rb +0 -2
- data/lib/autoloaded/inflection.rb +0 -2
- data/lib/autoloaded/load_pathed_directory.rb +1 -3
- data/lib/autoloaded/specification.rb +2 -0
- data/lib/autoloaded/specifications.rb +0 -2
- data/lib/autoloaded/version.rb +1 -1
- data/lib/autoloaded/warning.rb +0 -2
- data/lib/tasks/lib_each.rake +15 -3
- data/lib/tasks/spec.rake +3 -6
- metadata +24 -74
- data/spec/autoloaded/autoloader_spec.rb +0 -469
- data/spec/autoloaded/inflection_spec.rb +0 -30
- data/spec/autoloaded/load_pathed_directory_spec.rb +0 -120
- data/spec/autoloaded/specification_spec.rb +0 -98
- data/spec/autoloaded/specifications_spec.rb +0 -191
- data/spec/autoloaded/version_spec.rb +0 -3
- data/spec/autoloaded/warning_spec.rb +0 -115
- data/spec/autoloaded_macro_sharedspec.rb +0 -24
- data/spec/autoloaded_spec.rb +0 -173
- data/spec/fixtures/autoloaded_with_conventional_filename.rb +0 -12
- data/spec/fixtures/autoloaded_with_conventional_filename/N-est-ed.rb +0 -1
- data/spec/fixtures/autoloaded_with_conventional_filename/nest_ed.rb +0 -1
- data/spec/fixtures/autoloaded_with_conventional_filename/nested.rb +0 -16
- data/spec/fixtures/autoloaded_with_conventional_filename/nested/doubly_nested.rb +0 -9
- data/spec/fixtures/autoloaded_with_conventional_filename/old_school_autoload.rb +0 -5
- data/spec/fixtures/autoloaded_with_unconventional_filename.rb +0 -12
- data/spec/fixtures/autoloaded_with_unconventional_filename/N-est-ed.rb +0 -7
- data/spec/fixtures/autoloaded_with_unconventional_filename/nest_ed.rb +0 -1
- data/spec/fixtures/autoloaded_with_unconventional_filename/old_school_autoload.rb +0 -5
- data/spec/fixtures/filenames/AFilename.rb +0 -0
- data/spec/fixtures/filenames/a-file-name.rb +0 -0
- data/spec/fixtures/filenames/a-filename.rb +0 -0
- data/spec/fixtures/filenames/a_file_name.rb +0 -0
- data/spec/fixtures/filenames/a_filename.rb +0 -0
- data/spec/fixtures/filenames/afile-name.rb +0 -0
- data/spec/fixtures/filenames/afile_name.rb +0 -0
- data/spec/fixtures/not_autoloaded.rb +0 -5
- data/spec/fixtures/not_autoloaded/nested.rb +0 -1
- data/spec/fixtures/not_autoloaded/old_school_autoload.rb +0 -5
- data/spec/matchers.rb +0 -85
- data/spec/spec_helper.rb +0 -91
- data/spec/support/util.rb +0 -42
- data/spec/support/without_side_effects.rb +0 -37
data/spec/support/util.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
module Util
|
2
|
-
|
3
|
-
class << self
|
4
|
-
|
5
|
-
def constantize(name)
|
6
|
-
return nil unless name
|
7
|
-
|
8
|
-
begin
|
9
|
-
eval name.to_s
|
10
|
-
rescue NameError
|
11
|
-
nil
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def namespace_and_unqualified_constant_name(constant_name, options={})
|
16
|
-
namespace_name, unqualified_constant_name = split_namespace_and_constant(constant_name)
|
17
|
-
if namespace_name && (namespace = constantize(namespace_name)).nil?
|
18
|
-
if options[:raise_if_namespace_invalid]
|
19
|
-
raise "namespace of #{constant_name} is not defined"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
[namespace, unqualified_constant_name]
|
23
|
-
end
|
24
|
-
|
25
|
-
def namespace_delimiter
|
26
|
-
'::'
|
27
|
-
end
|
28
|
-
|
29
|
-
private
|
30
|
-
|
31
|
-
def split_namespace_and_constant(constant_name)
|
32
|
-
if (last_delimiter_index = constant_name.to_s.rindex(namespace_delimiter))
|
33
|
-
return [constant_name[0...last_delimiter_index],
|
34
|
-
constant_name[(last_delimiter_index + namespace_delimiter.length)..-1]]
|
35
|
-
end
|
36
|
-
|
37
|
-
return [nil, constant_name]
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
def without_side_effects
|
2
|
-
return nil unless block_given?
|
3
|
-
|
4
|
-
out_reader, out_writer = IO.pipe.collect { |io| io.tap(&:binmode) }
|
5
|
-
err_reader, err_writer = IO.pipe.collect { |io| io.tap(&:binmode) }
|
6
|
-
|
7
|
-
pid = fork do
|
8
|
-
out_reader.close
|
9
|
-
err_reader.close
|
10
|
-
|
11
|
-
begin
|
12
|
-
out_writer.write Marshal.dump(yield)
|
13
|
-
rescue Exception => e
|
14
|
-
clean_backtrace = e.backtrace.reject do |frame|
|
15
|
-
frame.include? __FILE__
|
16
|
-
end
|
17
|
-
e.set_backtrace clean_backtrace
|
18
|
-
err_writer.write Marshal.dump(e)
|
19
|
-
raise e
|
20
|
-
end
|
21
|
-
|
22
|
-
# The codeclimate-test-reporter RubyGem uses Kernel#at_exit to hook the end
|
23
|
-
# of test/spec runs for sending coverage statistics to their web service. We
|
24
|
-
# need to skip that hook in this process fork because this is not the end of
|
25
|
-
# a test/spec run, only of a process fork.
|
26
|
-
exit!(true) if ENV['CODECLIMATE_REPO_TOKEN']
|
27
|
-
end
|
28
|
-
|
29
|
-
Process.wait pid
|
30
|
-
|
31
|
-
out_writer.close
|
32
|
-
err_writer.close
|
33
|
-
|
34
|
-
return Marshal.load(out_reader.read) if $?.success?
|
35
|
-
|
36
|
-
raise Marshal.load(err_reader.read)
|
37
|
-
end
|