autoloaded 1.7.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +8 -4
  3. data/.rspec +1 -1
  4. data/.travis.yml +1 -15
  5. data/Gemfile +10 -11
  6. data/Guardfile +22 -21
  7. data/History.md +16 -40
  8. data/License.md +1 -1
  9. data/README.md +69 -79
  10. data/Rakefile +0 -4
  11. data/autoloaded.gemspec +37 -41
  12. data/lib/autoloaded/autoloader.rb +8 -31
  13. data/lib/autoloaded/deprecation.rb +20 -11
  14. data/lib/autoloaded/inflection.rb +9 -7
  15. data/lib/autoloaded/load_pathed_directory.rb +4 -2
  16. data/lib/autoloaded/specification.rb +0 -2
  17. data/lib/autoloaded/specifications.rb +10 -16
  18. data/lib/autoloaded/version.rb +1 -1
  19. data/lib/autoloaded/warning.rb +44 -26
  20. data/lib/autoloaded.rb +0 -40
  21. data/lib/tasks/lib_each.rake +3 -15
  22. data/lib/tasks/spec.rake +6 -3
  23. data/spec/autoloaded/autoloader_spec.rb +469 -0
  24. data/spec/autoloaded/inflection_spec.rb +30 -0
  25. data/spec/autoloaded/load_pathed_directory_spec.rb +120 -0
  26. data/spec/autoloaded/specification_spec.rb +98 -0
  27. data/spec/autoloaded/specifications_spec.rb +191 -0
  28. data/spec/autoloaded/version_spec.rb +3 -0
  29. data/spec/autoloaded/warning_spec.rb +115 -0
  30. data/spec/autoloaded_macro_sharedspec.rb +24 -0
  31. data/spec/autoloaded_spec.rb +173 -0
  32. data/spec/fixtures/autoloaded_with_conventional_filename/N-est-ed.rb +1 -0
  33. data/spec/fixtures/autoloaded_with_conventional_filename/nest_ed.rb +1 -0
  34. data/spec/fixtures/autoloaded_with_conventional_filename/nested/doubly_nested.rb +9 -0
  35. data/spec/fixtures/autoloaded_with_conventional_filename/nested.rb +16 -0
  36. data/spec/fixtures/autoloaded_with_conventional_filename/old_school_autoload.rb +5 -0
  37. data/spec/fixtures/autoloaded_with_conventional_filename.rb +12 -0
  38. data/spec/fixtures/autoloaded_with_unconventional_filename/N-est-ed.rb +7 -0
  39. data/spec/fixtures/autoloaded_with_unconventional_filename/nest_ed.rb +1 -0
  40. data/spec/fixtures/autoloaded_with_unconventional_filename/old_school_autoload.rb +5 -0
  41. data/spec/fixtures/autoloaded_with_unconventional_filename.rb +12 -0
  42. data/spec/fixtures/filenames/AFilename.rb +0 -0
  43. data/spec/fixtures/filenames/a-file-name.rb +0 -0
  44. data/spec/fixtures/filenames/a-filename.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/afile-name.rb +0 -0
  48. data/spec/fixtures/filenames/afile_name.rb +0 -0
  49. data/spec/fixtures/not_autoloaded/nested.rb +1 -0
  50. data/spec/fixtures/not_autoloaded/old_school_autoload.rb +5 -0
  51. data/spec/fixtures/not_autoloaded.rb +5 -0
  52. data/spec/matchers.rb +85 -0
  53. data/spec/spec_helper.rb +91 -0
  54. data/spec/support/util.rb +42 -0
  55. data/spec/support/without_side_effects.rb +37 -0
  56. metadata +86 -25
  57. data/bin/console +0 -10
  58. data/bin/setup +0 -8
  59. data/lib/autoloaded/compatibility/refine_and_using.rb +0 -19
  60. data/lib/autoloaded/constant.rb +0 -94
  61. data/lib/autoloaded/refine/string/to_source_filename.rb +0 -58
  62. data/lib/autoloaded/refine/string.rb +0 -20
  63. data/lib/autoloaded/refine.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 0736db59154581469d671b352eed15faaa35a23d962de033d9106fd69bb56887
4
- data.tar.gz: 58857610f89eda2d2e933767e81cb2e2901b78b4b7cc25ebbde7ff94acab75b9
2
+ SHA1:
3
+ metadata.gz: 925ea1aba0f2ef88679610b9991b59b47d1624bb
4
+ data.tar.gz: 9a76651fade295cb47f3aa0bb13d4a1d38da1bb6
5
5
  SHA512:
6
- metadata.gz: 9a1ca3c1af68c99bb541d136fcc38e3679f59bc77da1270f6a4f9e8b225cf4ded70c4678a25312ccb1bda6a7a5ce9a6634f2c13a16bd3df9c2f0550b2f91e7c5
7
- data.tar.gz: 97751b780b02f4d838bf0702bbae78c152ce3bcd41107369ded24f91319ed55d6388fe026cd2da9da9f642659a04096142f08d5bbef4715ad974869b1433e318
6
+ metadata.gz: ff3a0b9a5ad7f85e1302b6e3d9b1757e13e2dda0c85feeb8f06184b461773503acb41d5dadb487e4219e4c9a485bfebbf0bc7055c1c9e240a84d00d638fba0de
7
+ data.tar.gz: 2f438027039fa6e9fc1b23c5b2669864fe5dff3b5ed2a7576495d33f0552a14d8f063b67c8a0295b173001c12ff307ad1fda82f2ff498d10c87cfab47dd902fa
data/.gitignore CHANGED
@@ -1,12 +1,16 @@
1
1
  /.bundle/
2
- /.rbx
3
- /.ruby-*
4
- /.yardoc/
2
+ /.yardoc
5
3
  /Gemfile.lock
6
4
  /_yardoc/
7
5
  /coverage/
8
6
  /doc/
9
7
  /pkg/
10
- /spec/examples.txt
11
8
  /spec/reports/
12
9
  /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ .ruby-gemset
15
+ .ruby-version
16
+ mkmf.log
data/.rspec CHANGED
@@ -1,3 +1,3 @@
1
1
  --color
2
- --format documentation
2
+ --format doc
3
3
  --require spec_helper
data/.travis.yml CHANGED
@@ -1,27 +1,13 @@
1
1
  language: ruby
2
2
  bundler_args: --without debug doc tooling
3
3
  rvm:
4
+ - 1.9
4
5
  - 2.0
5
6
  - 2.1
6
- - 2.2
7
- - 2.3
8
- - 2.4
9
- - 2.5
10
- - 2.6
11
- - 2.7
12
- - 3.0
13
7
  - ruby-head
14
8
  - jruby-head
15
- - rbx
16
- - rbx-2
17
9
  script: "bundle exec rake test"
18
10
  matrix:
19
11
  allow_failures:
20
- - rvm: 1.9
21
12
  - rvm: ruby-head
22
13
  - rvm: jruby-head
23
- - rvm: rbx
24
- - rvm: rbx-2
25
- branches:
26
- except:
27
- - /^gh-pages.*$/
data/Gemfile CHANGED
@@ -3,23 +3,22 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :debug do
6
- gem 'pry-byebug', '~> 3', platforms: [:mri_20,
7
- :mri_21,
8
- :mri_22,
9
- :mri_23,
10
- :mri_24,
11
- :mri_25]
12
- gem 'pry-debugger', '~> 0', platforms: :mri_19
6
+ gem 'pry-byebug', '~> 2', platforms: [:mri_20, :mri_21]
7
+ gem 'pry-debugger', '~> 0', platforms: :mri_19
13
8
  end
14
9
 
15
10
  group :doc do
16
- gem 'yard', '>= 0.9.11', '< 1', require: false
17
- gem 'rdiscount', '~> 2', require: false
11
+ gem 'yard', '~> 0', require: false
12
+ gem 'rdiscount', '~> 2', require: false, platforms: :mri
13
+ end
14
+
15
+ group :test do
16
+ gem 'codeclimate-test-reporter', '~> 0', require: false
18
17
  end
19
18
 
20
19
  group :tooling do
21
- gem 'guard-rspec', '~> 4', require: false
20
+ gem 'guard-rspec', '~> 4', require: false
22
21
  if RUBY_PLATFORM =~ /darwin/i
23
- gem 'rb-fsevent', '~> 0', require: false
22
+ gem 'rb-fsevent', '~> 0', require: false
24
23
  end
25
24
  end
data/Guardfile CHANGED
@@ -1,37 +1,38 @@
1
- require 'guard/rspec/dsl'
1
+ interactor :off
2
2
 
3
3
  debugger_gem = %w(pry-byebug pry-debugger).detect do |gem|
4
4
  `bundle show #{gem} 2>&1 >/dev/null`
5
5
  $?.success?
6
6
  end
7
7
  debugger_require = debugger_gem ? " --require #{debugger_gem}" : nil
8
+ guard :rspec, all_after_pass: true,
9
+ all_on_start: true,
10
+ cmd: "bundle exec rspec#{debugger_require} --format progress" do
11
+ # Run the corresponding spec (or all specs) when code changes.
12
+ watch( %r{^lib/(.+)\.rb$} ) do |match|
13
+ Dir["spec/#{match[1]}_spec.rb"].first || 'spec'
14
+ end
8
15
 
9
- guard :rspec, all_on_start: true,
10
- all_after_pass: true,
11
- cmd: "bundle exec rspec --format progress#{debugger_require}" do
12
- dsl = Guard::RSpec::Dsl.new(self)
13
- rspec, ruby = dsl.rspec, dsl.ruby
16
+ # Run a spec when it changes.
17
+ watch %r{^spec/.+_spec\.rb$}
14
18
 
15
- # RSpec files
16
- watch('.rspec') { rspec.spec_dir }
17
- watch rspec.spec_helper { rspec.spec_dir }
18
- watch rspec.spec_support { rspec.spec_dir }
19
- watch(%r{^spec/support}) { rspec.spec_dir } # This should not be necessary.
20
- watch rspec.spec_files
19
+ # Run all specs when a shared spec changes.
20
+ watch( %r{^spec/.+_sharedspec\.rb$} ) { 'spec' }
21
21
 
22
22
  # Run all specs when a matcher changes.
23
- watch('spec/matchers.rb') { 'spec' }
23
+ watch( 'spec/matchers.rb' ) { 'spec' }
24
24
 
25
- # Run all specs when a shared spec changes.
26
- watch(%r{^spec/.+_sharedspec\.rb$}) { rspec.spec_dir }
25
+ # Run all specs when a support file changes.
26
+ watch( %r{^spec/support} ) { 'spec' }
27
27
 
28
28
  # Run all specs when a fixture changes.
29
- watch(%r{^spec/fixtures}) { rspec.spec_dir }
29
+ watch( %r{^spec/fixtures} ) { 'spec' }
30
30
 
31
- # Run all specs when the bundle changes.
32
- watch('Gemfile.lock') { rspec.spec_dir }
33
- watch(%r{^(.+)\.gemspec$}) { rspec.spec_dir }
31
+ # Run all specs when the RSpec configuration changes.
32
+ watch( '.rspec' ) { 'spec' }
33
+ watch( 'spec/spec_helper.rb' ) { 'spec' }
34
34
 
35
- # Ruby files
36
- dsl.watch_spec_files_for ruby.lib_files
35
+ # Run all specs when the bundle changes.
36
+ watch( 'Gemfile.lock' ) { 'spec' }
37
+ watch( %r{^(.+)\.gemspec$} ) { 'spec' }
37
38
  end
data/History.md CHANGED
@@ -1,49 +1,30 @@
1
- # Version history for the *Autoloaded* project
1
+ # Version history for the _Autoloaded_ project
2
2
 
3
- ## <a name="v1.7.0"></a>v1.7.0, Sat 9/19/2021
3
+ ## <a name="v2.0.0"></a>v2.0.0, Sat 12/27/2013
4
4
 
5
- * Add support for Ruby v3 (thanks to [@krimsonkla][GitHub-user-krimsonkla])
5
+ * Add support for Ruby v1.9.x
6
+ * Remove deprecated API
6
7
 
7
- ## <a name="v1.6.0"></a>v1.6.0, Sun 4/05/2020
8
-
9
- * Eliminate Ruby warnings about
10
- [*Binding#source_location*][Ruby-Core-Binding-source_location] (thanks to
11
- [@guss77][GitHub-user-guss77])
12
-
13
- ## <a name="v1.5.1"></a>v1.5.1, Wed 10/18/2017
14
-
15
- * Eliminate Ruby warnings about undefined instance variables
16
-
17
- ## <a name="v1.5.0"></a>v1.5.0, Wed 2/22/2017
18
-
19
- * Add support for Ruby load paths (`$:`) that contain one or more
20
- [*Pathname*][Ruby-Stdlib-Pathname] objects (thanks to
21
- [@ekampp][GitHub-user-ekampp])
22
-
23
- ## <a name="v1.4.1"></a>v1.4.1, Sat 1/24/2015
24
-
25
- * Don’t warn about a *VERSION* constant presumably loaded by a *.gemspec*
26
-
27
- ## <a name="v1.3.0"></a>v1.3.0, Fri 12/26/2014
8
+ ## <a name="v1.3.0"></a>v1.3.0, Fri 12/26/2013
28
9
 
29
10
  * Add support for relative class references with a new API
30
11
 
31
- ## <a name="v1.2.0"></a>v1.2.0, Fri 11/28/2014
12
+ ## <a name="v1.2.0"></a>v1.2.0, Fri 11/28/2013
32
13
 
33
14
  * Add support for [JRuby][JRuby] (Ruby v2.x-compatible versions)
34
15
 
35
- ## <a name="v1.1.0"></a>v1.1.0, Tue 11/04/2014
16
+ ## <a name="v1.1.0"></a>v1.1.0, Tue 11/04/2013
36
17
 
37
18
  * Correct/improve autoload behavior
38
19
  * Instead of returning the source **directory** path from
39
- [*Module#autoload?*][Ruby-Core-Module-autoload], return one or more matching
20
+ [_Module#autoload?_][Ruby-Core-Module-autoload], return one or more matching
40
21
  source **file** path(s)
41
22
  * Use Ruby load path (`$:`) to handle relative source file paths
42
- * Explain *Module#autoload?* and
43
- [*Module#constants*][Ruby-Core-Module-constants] in the [readme][readme] and
23
+ * Explain _Module#autoload?_ and
24
+ [_Module#constants_][Ruby-Core-Module-constants] in the [readme][readme] and
44
25
  in [inline documentation][inline-documentation]
45
26
 
46
- ## <a name="v1.0.0"></a>v1.0.0, Wed 10/29/2014
27
+ ## <a name="v1.0.0"></a>v1.0.0, Wed 10/29/2013
47
28
 
48
29
  * Add support for Ruby v2.0
49
30
 
@@ -51,13 +32,8 @@
51
32
 
52
33
  (First release)
53
34
 
54
- [GitHub-user-krimsonkla]: https://github.com/krimsonkla "GitHub user @krimsonkla"
55
- [GitHub-user-ekampp]: https://github.com/ekampp "GitHub user @ekampp"
56
- [GitHub-user-guss77]: https://github.com/guss77 "GitHub user @guss77"
57
- [JRuby]: https://www.jruby.org/
58
- [Ruby-Core-Binding-source_location]: https://ruby-doc.org/core/Binding.html#method-i-source_location "‘Binding#source_location’ method in the Ruby Core Library"
59
- [Ruby-Core-Module-autoload]: https://ruby-doc.org/core/Module.html#method-i-autoload-3F "‘Module#autoload’ method in the Ruby Core Library"
60
- [Ruby-Core-Module-constants]: https://ruby-doc.org/core/Module.html#method-i-constants "‘Module#constants’ method in the Ruby Core Library"
61
- [Ruby-Stdlib-Pathname]: https://ruby-doc.org/stdlib/libdoc/pathname/rdoc/Pathname.html "‘Pathname’ class in the Ruby Standard Library"
62
- [readme]: https://github.com/njonsson/autoloaded/blob/master/README.md "Autoloaded readme"
63
- [inline-documentation]: https://www.rubydoc.info/github/njonsson/autoloaded "Autoloaded inline documentation"
35
+ [JRuby]: http://jruby.org
36
+ [Ruby-Core-Module-autoload]: http://ruby-doc.org/core/Module.html#method-i-autoload-3F "‘Module#autoload’ method in the Ruby Core Library"
37
+ [Ruby-Core-Module-constants]: http://ruby-doc.org/core/Module.html#method-i-constants "‘Module#constants’ method in the Ruby Core Library"
38
+ [readme]: http://github.com/njonsson/autoloaded/blob/master/README.md "Autoloaded readme"
39
+ [inline-documentation]: http://www.rubydoc.info/github/njonsson/autoloaded "Autoloaded inline documentation"
data/License.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # The MIT License
2
2
 
3
- Source code for *Autoloaded* is Copyright © 2014 [Nils Jonsson][mail] and
3
+ Source code for _Autoloaded_ is Copyright © 2014 [Nils Jonsson][mail] and
4
4
  [contributors][contributors].
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy of
data/README.md CHANGED
@@ -6,17 +6,18 @@
6
6
  [![Code Climate quality report] ][Code-Climate-report]
7
7
  [![Code Climate coverage report]][Code-Climate-report]
8
8
 
9
+ [![Gemnasium build status] ][Gemnasium-build-status]
9
10
  [![Inch CI build status] ][Inch-CI-build-status]
10
11
  [![RubyGems release] ][RubyGems-release]
11
12
 
12
- If you like the [*Module#autoload*][Ruby-Core-Module-autoload] feature of the
13
- Ruby Core library, you may have wished for *Autoloaded*. It eliminates the
13
+ If you like the [_Module#autoload_][Ruby-Core-Module-autoload] feature of the
14
+ Ruby Core library, you may have wished for _Autoloaded_. It eliminates the
14
15
  drudgery of handcrafting an `autoload` statement for each Ruby source code file
15
16
  in your project. It also avoids the limitations of rigid convention-driven
16
17
  facilities such as those provided by the [ActiveSupport][ActiveSupport-Autoload]
17
18
  RubyGem.
18
19
 
19
- *Autoloaded* assumes, but does not enforce, `CamelCase`-to-`snake_case`
20
+ _Autoloaded_ assumes, but does not enforce, `CamelCase`-to-`snake_case`
20
21
  correspondence between the names of constants and source files. You can combine
21
22
  conventions, even putting multiple autoloaded constants in a single source file.
22
23
 
@@ -26,7 +27,7 @@ Install [the RubyGem][RubyGems-release].
26
27
 
27
28
  $ gem install autoloaded
28
29
 
29
- Use *Autoloaded* in your RubyGem project by making it a runtime dependency.
30
+ Use _Autoloaded_ in your RubyGem project by making it a runtime dependency.
30
31
 
31
32
  ```ruby
32
33
  # my_awesome_gem.gemspec
@@ -38,13 +39,13 @@ Gem::Specification.new do |spec|
38
39
  end
39
40
  ```
40
41
 
41
- Or you may want to make *Autoloaded* a dependency of your project by using
42
+ Or you may want to make _Autoloaded_ a dependency of your project by using
42
43
  [Bundler][Bundler].
43
44
 
44
45
  ```ruby
45
46
  # Gemfile
46
47
 
47
- source 'https://rubygems.org'
48
+ source 'http://rubygems.org'
48
49
 
49
50
  gem 'autoloaded', '~> 1'
50
51
  ```
@@ -65,15 +66,15 @@ Suppose you have the following source files.
65
66
  │  └─ version.rb
66
67
  └─ my_awesome_gem.rb
67
68
 
68
- ### The *Autoloaded.module* or *Autoloaded.class* method
69
+ ### The _Autoloaded.module_ or _Autoloaded.class_ method
69
70
 
70
- The *Autoloaded.module* and *Autoloaded.class* method calls below invoke
71
- [*Module#autoload*][Ruby-Core-Module-autoload] for each source file in the
71
+ The _Autoloaded.module_ and _Autoloaded.class_ method calls below invoke
72
+ [_Module#autoload_][Ruby-Core-Module-autoload] for each source file in the
72
73
  calling module’s corresponding directory. Note that these methods must receive a
73
74
  block, even if it’s an empty block.
74
75
 
75
76
  The file paths used are abbreviated, if possible, using a directory of the Ruby
76
- load path (`$:`). They are also rendered without their *.rb* extension.
77
+ load path (`$:`). They are also rendered without their _.rb_ extension.
77
78
 
78
79
  ```ruby
79
80
  # lib/my_awesome_gem.rb
@@ -151,7 +152,7 @@ MyAwesomeGem::DB::Mysql # Raises NameError because
151
152
 
152
153
  ### The `with` specification
153
154
 
154
- *Autoloaded* needs hints from you concerning unpredictable spellings,
155
+ _Autoloaded_ needs hints from you concerning unpredictable spellings,
155
156
  stylization, and organization of constant names and/or source file names. You can
156
157
  specify `with` as:
157
158
 
@@ -172,21 +173,21 @@ You can specify `with` multiple times, and its effects are cumulative.
172
173
  # lib/my_awesome_gem.rb
173
174
  module MyAwesomeGem
174
175
 
175
- Autoloaded.module do |autoloading|
176
- autoloading.with :DB, :VERSION
176
+ Autoloaded.module do |autoloaded|
177
+ autoloaded.with :DB, :VERSION
177
178
  # Or:
178
- # autoloading.with :DB
179
- # autoloading.with :VERSION
179
+ # autoloaded.with :DB
180
+ # autoloaded.with :VERSION
180
181
  # Or:
181
- # autoloading.with DB: 'db', VERSION: 'version'
182
+ # autoloaded.with DB: 'db', VERSION: 'version'
182
183
  # Or:
183
- # autoloading.with DB: 'db'
184
- # autoloading.with VERSION: 'version'
184
+ # autoloaded.with DB: 'db'
185
+ # autoloaded.with VERSION: 'version'
185
186
  # Or:
186
- # autoloading.with 'db' => :DB, 'version' => :VERSION
187
+ # autoloaded.with 'db' => :DB, 'version' => :VERSION
187
188
  # Or:
188
- # autoloading.with 'db' => :DB
189
- # autoloading.with 'version' => :VERSION
189
+ # autoloaded.with 'db' => :DB
190
+ # autoloaded.with 'version' => :VERSION
190
191
  end
191
192
 
192
193
  # The above is the equivalent of:
@@ -201,20 +202,20 @@ module MyAwesomeGem
201
202
 
202
203
  class DB
203
204
 
204
- Autoloaded.class do |autoloading|
205
- autoloading.with :MySQL, :PostgreSQL, [:Access, :SQLServer] => 'MicroSoft'
205
+ Autoloaded.class do |autoloaded|
206
+ autoloaded.with :MySQL, :PostgreSQL, [:Access, :SQLServer] => 'MicroSoft'
206
207
  # Or:
207
- # autoloading.with :MySQL,
208
- # :PostgreSQL,
209
- # Access: 'MicroSoft',
210
- # SQLServer: 'MicroSoft'
208
+ # autoloaded.with :MySQL,
209
+ # :PostgreSQL,
210
+ # Access: 'MicroSoft',
211
+ # SQLServer: 'MicroSoft'
211
212
  # Or:
212
- # autoloading.with :MySQL, :PostgreSQL, 'MicroSoft' => [:Access, :SQLServer]
213
+ # autoloaded.with :MySQL, :PostgreSQL, 'MicroSoft' => [:Access, :SQLServer]
213
214
  # Or:
214
- # autoloading.with :MySQL,
215
- # :PostgreSQL,
216
- # 'MicroSoft' => :Access,
217
- # 'MicroSoft' => :SQLServer
215
+ # autoloaded.with :MySQL,
216
+ # :PostgreSQL,
217
+ # 'MicroSoft' => :Access,
218
+ # 'MicroSoft' => :SQLServer
218
219
  # Or ...
219
220
  end
220
221
 
@@ -282,12 +283,12 @@ module MyAwesomeGem
282
283
 
283
284
  class DB
284
285
 
285
- Autoloaded.class do |autoloading|
286
- autoloading.with :MySQL, :PostgreSQL, [:Access, :SQLServer] => 'MicroSoft'
286
+ Autoloaded.class do |autoloaded|
287
+ autoloaded.with :MySQL, :PostgreSQL, [:Access, :SQLServer] => 'MicroSoft'
287
288
 
288
- autoloading.except 'SELF-DESTRUCT!'
289
+ autoloaded.except 'SELF-DESTRUCT!'
289
290
  # Or:
290
- # autoloading.except :SELF_DESTRUCT_
291
+ # autoloaded.except :SELF_DESTRUCT_
291
292
  # Or ...
292
293
  end
293
294
 
@@ -339,9 +340,9 @@ cumulative.
339
340
 
340
341
  ### The `from` specification
341
342
 
342
- It’s recommended that you call *Autoloaded.module* or *Autoloaded.class* from
343
+ It’s recommended that you call _Autoloaded.module_ or _Autoloaded.class_ from
343
344
  within the source file where your module or class is defined. This practice
344
- allows *Autoloaded* to assume that the source files to be autoloaded are in a
345
+ allows _Autoloaded_ to assume that the source files to be autoloaded are in a
345
346
  directory of the same name (and in the same location) as the module’s defining
346
347
  source file.
347
348
 
@@ -356,12 +357,12 @@ which source files should be autoloaded.
356
357
 
357
358
  module MyAwesomeGem
358
359
 
359
- Autoloaded.module do |autoloading|
360
+ Autoloaded.module do |autoloaded|
360
361
  # The following code is not actually very useful since the installed location
361
362
  # of a RubyGem varies with the operating system and user preferences. How to
362
363
  # compute the path properly is outside the scope of this readme and is left
363
364
  # as an exercise for the reader.
364
- autoloading.from '/absolute/path/to/my_awesome_gem'
365
+ autoloaded.from '/absolute/path/to/my_awesome_gem'
365
366
  end
366
367
 
367
368
  end
@@ -370,18 +371,18 @@ end
370
371
  A path provided to `from` cannot be relative; it must start with the filesystem
371
372
  root.
372
373
 
373
- If you specify `from` multiple times in an *Autoloaded* block, only the last one
374
+ If you specify `from` multiple times in an _Autoloaded_ block, only the last one
374
375
  takes effect.
375
376
 
376
- ### The *Autoloaded.warn* method
377
+ ### The _Autoloaded.warn_ method
377
378
 
378
- There are two circumstances under which *Autoloaded* by default will write
379
+ There are two circumstances under which _Autoloaded_ by default will write
379
380
  warnings to stderr:
380
381
 
381
382
  * Overriding an established autoload
382
383
  * Establishing an autoload for a defined constant
383
384
 
384
- You can silence these warnings by passing `false` to *Autoloaded.warn*. (Passing
385
+ You can silence these warnings by passing `false` to _Autoloaded.warn_. (Passing
385
386
  `true` turns warnings on if they are off.)
386
387
 
387
388
  ```ruby
@@ -437,7 +438,7 @@ end
437
438
 
438
439
  ### How to debug autoloading
439
440
 
440
- The *Autoloaded.module* or *Autoloaded.class* method returns an ordered list of
441
+ The _Autoloaded.module_ or _Autoloaded.class_ method returns an ordered list of
441
442
  arguments it has passed to `autoload`.
442
443
 
443
444
  ```ruby
@@ -447,9 +448,9 @@ module MyAwesomeGem
447
448
 
448
449
  class DB
449
450
 
450
- results = Autoloaded.class do |autoloading|
451
- autoloading.with :MySQL, :PostgreSQL, [:Access, :SQLServer] => 'MicroSoft'
452
- autoloading.except 'SELF-DESTRUCT!'
451
+ results = Autoloaded.class do |autoloaded|
452
+ autoloaded.with :MySQL, :PostgreSQL, [:Access, :SQLServer] => 'MicroSoft'
453
+ autoloaded.except 'SELF-DESTRUCT!'
453
454
  end
454
455
  STDOUT.puts results.inspect # See output below.
455
456
 
@@ -464,20 +465,20 @@ end
464
465
  # [:PostgreSQL, 'my_awesome_gem/db/postgre_sql']]
465
466
  ```
466
467
 
467
- You can also hook [*Module#autoload*][Ruby-Core-Module-autoload] and
468
- [*Kernel#autoload*][Ruby-Core-Kernel-autoload] via monkeypatching or other means
468
+ You can also hook [_Module#autoload_][Ruby-Core-Module-autoload] and
469
+ [_Kernel#autoload_][Ruby-Core-Kernel-autoload] via monkeypatching or other means
469
470
  in order to see what’s happening.
470
471
 
471
472
  ### Source filenames are relative to the `from` specification
472
473
 
473
474
  You may have noticed that source filenames in the above examples are not
474
- absolute. They are relative to the *Autoloaded* block’s `from` specification
475
+ absolute. They are relative to the _Autoloaded_ block’s `from` specification
475
476
  (which I recommend that you allow to be computed for you —
476
477
  [see above](#the-from-specification)).
477
478
 
478
479
  ### Recursive autoloading not supported
479
480
 
480
- *Autoloaded* does not perform deep autoloading of nested namespaces and
481
+ _Autoloaded_ does not perform deep autoloading of nested namespaces and
481
482
  directories. This is by design.
482
483
 
483
484
  ## Contributing
@@ -488,39 +489,28 @@ directories. This is by design.
488
489
  4. Push to the branch: `git push origin my-new-feature`.
489
490
  5. [Create][compare-Autoloaded-branches] a new pull request.
490
491
 
491
- Development
492
- -----------
493
-
494
- After cloning the repository, `bin/setup` to install dependencies. Then `rake` to
495
- run the tests. You can also `bin/console` to get an interactive prompt that will
496
- allow you to experiment.
497
-
498
- To install this gem onto your local machine, `bundle exec rake install`. To
499
- release a new version, update the version number in *lib/autoloaded/version.rb*,
500
- and then `bundle exec rake release`, which will create a Git tag for the version,
501
- push Git commits and tags, and push the *.gem* file to
502
- [RubyGems.org](RubyGems-release).
503
-
504
492
  ## License
505
493
 
506
494
  Released under the [MIT License][MIT-License].
507
495
 
508
496
  [Autoloaded graphic]: https://farm5.staticflickr.com/4134/4941065976_54737fe145.jpg
509
- [Travis CI build status]: https://secure.travis-ci.org/njonsson/autoloaded.svg?branch=v1.x
497
+ [Travis CI build status]: https://secure.travis-ci.org/njonsson/autoloaded.svg?branch=master
510
498
  [Code Climate quality report]: https://codeclimate.com/github/njonsson/autoloaded/badges/gpa.svg
511
499
  [Code Climate coverage report]: https://codeclimate.com/github/njonsson/autoloaded/badges/coverage.svg
512
- [Inch CI build status]: https://www.inch-ci.org/github/njonsson/autoloaded.svg?branch=v1.x
500
+ [Gemnasium build status]: https://gemnasium.com/njonsson/autoloaded.svg
501
+ [Inch CI build status]: http://inch-ci.org/github/njonsson/autoloaded.svg?branch=master
513
502
  [RubyGems release]: https://badge.fury.io/rb/autoloaded.svg
514
503
 
515
- [spider-gear-image]: https://www.flickr.com/photos/dongkwan/4941065976 "spider gear image by Ernesto Andrade"
516
- [Travis-CI-build-status]: https://www.travis-ci.org/njonsson/autoloaded "Travis CI build status for Autoloaded"
517
- [Code-Climate-report]: https://codeclimate.com/github/njonsson/autoloaded "Code Climate report for Autoloaded"
518
- [Inch-CI-build-status]: https://www.inch-ci.org/github/njonsson/autoloaded "Inch CI build status for Autoloaded"
519
- [RubyGems-release]: https://rubygems.org/gems/autoloaded "RubyGems release of Autoloaded"
520
- [Ruby-Core-Module-autoload]: https://ruby-doc.org/core/Module.html#method-i-autoload "‘Module#autoload’ method in the Ruby Core Library"
521
- [ActiveSupport-Autoload]: https://api.rubyonrails.org/classes/ActiveSupport/Autoload.html "‘ActiveSupport::Autoloadmodule in the Rails API"
522
- [Bundler]: https://bundler.io/
523
- [Ruby-Core-Kernel-autoload]: https://ruby-doc.org/core/Kernel.html#method-i-autoload "‘Kernel#autoload’ method in the Ruby Core Library"
524
- [fork-Autoloaded]: https://github.com/njonsson/autoloaded/fork "Fork the official repository of Autoloaded"
525
- [compare-Autoloaded-branches]: https://github.com/njonsson/autoloaded/compare "Compare branches of Autoloaded repositories"
526
- [MIT-License]: https://github.com/njonsson/autoloaded/blob/master/License.md "MIT License claim for Autoloaded"
504
+ [spider-gear-image]: https://www.flickr.com/photos/dongkwan/4941065976 "spider gear image by Ernesto Andrade"
505
+ [Travis-CI-build-status]: http://travis-ci.org/njonsson/autoloaded "Travis CI build status for Autoloaded"
506
+ [Code-Climate-report]: http://codeclimate.com/github/njonsson/autoloaded "Code Climate report for Autoloaded"
507
+ [Gemnasium-build-status]: http://gemnasium.com/njonsson/autoloaded "Gemnasium build status for Autoloaded"
508
+ [Inch-CI-build-status]: http://inch-ci.org/github/njonsson/autoloaded "Inch CI build status for Autoloaded"
509
+ [RubyGems-release]: http://rubygems.org/gems/autoloaded "RubyGems release of Autoloaded"
510
+ [Ruby-Core-Module-autoload]: http://ruby-doc.org/core/Module.html#method-i-autoload "‘Module#autoloadmethod in the Ruby Core Library"
511
+ [ActiveSupport-Autoload]: http://api.rubyonrails.org/classes/ActiveSupport/Autoload.html "‘ActiveSupport::Autoload’ module in the Rails API"
512
+ [Bundler]: http://bundler.io
513
+ [Ruby-Core-Kernel-autoload]: http://ruby-doc.org/core/Kernel.html#method-i-autoload "‘Kernel#autoload’ method in the Ruby Core Library"
514
+ [fork-Autoloaded]: https://github.com/njonsson/autoloaded/fork "Fork the official repository of Autoloaded"
515
+ [compare-Autoloaded-branches]: https://github.com/njonsson/autoloaded/compare "Compare branches of Autoloaded repositories"
516
+ [MIT-License]: http://github.com/njonsson/autoloaded/blob/master/License.md "MIT License claim for Autoloaded"
data/Rakefile CHANGED
@@ -1,6 +1,2 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require_relative 'lib/tasks'
3
-
4
- desc 'Run all specs'
5
- task '' => :spec
6
- task default: :spec