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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -8
  3. data/.rspec +1 -1
  4. data/.travis.yml +15 -0
  5. data/Gemfile +12 -9
  6. data/Gemfile_ci_mri_19 +7 -0
  7. data/Guardfile +21 -22
  8. data/History.md +10 -4
  9. data/README.md +47 -30
  10. data/Rakefile +4 -0
  11. data/autoloaded.gemspec +37 -36
  12. data/bin/console +10 -0
  13. data/bin/setup +8 -0
  14. data/lib/autoloaded/autoloader.rb +6 -0
  15. data/lib/autoloaded/deprecation.rb +0 -2
  16. data/lib/autoloaded/inflection.rb +0 -2
  17. data/lib/autoloaded/load_pathed_directory.rb +1 -3
  18. data/lib/autoloaded/specification.rb +2 -0
  19. data/lib/autoloaded/specifications.rb +0 -2
  20. data/lib/autoloaded/version.rb +1 -1
  21. data/lib/autoloaded/warning.rb +0 -2
  22. data/lib/tasks/lib_each.rake +15 -3
  23. data/lib/tasks/spec.rake +3 -6
  24. metadata +24 -74
  25. data/spec/autoloaded/autoloader_spec.rb +0 -469
  26. data/spec/autoloaded/inflection_spec.rb +0 -30
  27. data/spec/autoloaded/load_pathed_directory_spec.rb +0 -120
  28. data/spec/autoloaded/specification_spec.rb +0 -98
  29. data/spec/autoloaded/specifications_spec.rb +0 -191
  30. data/spec/autoloaded/version_spec.rb +0 -3
  31. data/spec/autoloaded/warning_spec.rb +0 -115
  32. data/spec/autoloaded_macro_sharedspec.rb +0 -24
  33. data/spec/autoloaded_spec.rb +0 -173
  34. data/spec/fixtures/autoloaded_with_conventional_filename.rb +0 -12
  35. data/spec/fixtures/autoloaded_with_conventional_filename/N-est-ed.rb +0 -1
  36. data/spec/fixtures/autoloaded_with_conventional_filename/nest_ed.rb +0 -1
  37. data/spec/fixtures/autoloaded_with_conventional_filename/nested.rb +0 -16
  38. data/spec/fixtures/autoloaded_with_conventional_filename/nested/doubly_nested.rb +0 -9
  39. data/spec/fixtures/autoloaded_with_conventional_filename/old_school_autoload.rb +0 -5
  40. data/spec/fixtures/autoloaded_with_unconventional_filename.rb +0 -12
  41. data/spec/fixtures/autoloaded_with_unconventional_filename/N-est-ed.rb +0 -7
  42. data/spec/fixtures/autoloaded_with_unconventional_filename/nest_ed.rb +0 -1
  43. data/spec/fixtures/autoloaded_with_unconventional_filename/old_school_autoload.rb +0 -5
  44. data/spec/fixtures/filenames/AFilename.rb +0 -0
  45. data/spec/fixtures/filenames/a-file-name.rb +0 -0
  46. data/spec/fixtures/filenames/a-filename.rb +0 -0
  47. data/spec/fixtures/filenames/a_file_name.rb +0 -0
  48. data/spec/fixtures/filenames/a_filename.rb +0 -0
  49. data/spec/fixtures/filenames/afile-name.rb +0 -0
  50. data/spec/fixtures/filenames/afile_name.rb +0 -0
  51. data/spec/fixtures/not_autoloaded.rb +0 -5
  52. data/spec/fixtures/not_autoloaded/nested.rb +0 -1
  53. data/spec/fixtures/not_autoloaded/old_school_autoload.rb +0 -5
  54. data/spec/matchers.rb +0 -85
  55. data/spec/spec_helper.rb +0 -91
  56. data/spec/support/util.rb +0 -42
  57. data/spec/support/without_side_effects.rb +0 -37
@@ -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