autoloaded 1.6.0 → 2.0.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 (62) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +8 -4
  3. data/.rspec +1 -1
  4. data/.travis.yml +1 -14
  5. data/Gemfile +10 -11
  6. data/Guardfile +22 -21
  7. data/History.md +12 -27
  8. data/README.md +48 -58
  9. data/Rakefile +0 -4
  10. data/autoloaded.gemspec +37 -41
  11. data/lib/autoloaded.rb +0 -40
  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/tasks/lib_each.rake +3 -15
  21. data/lib/tasks/spec.rake +6 -3
  22. data/spec/autoloaded/autoloader_spec.rb +469 -0
  23. data/spec/autoloaded/inflection_spec.rb +30 -0
  24. data/spec/autoloaded/load_pathed_directory_spec.rb +120 -0
  25. data/spec/autoloaded/specification_spec.rb +98 -0
  26. data/spec/autoloaded/specifications_spec.rb +191 -0
  27. data/spec/autoloaded/version_spec.rb +3 -0
  28. data/spec/autoloaded/warning_spec.rb +115 -0
  29. data/spec/autoloaded_macro_sharedspec.rb +24 -0
  30. data/spec/autoloaded_spec.rb +173 -0
  31. data/spec/fixtures/autoloaded_with_conventional_filename.rb +12 -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.rb +16 -0
  35. data/spec/fixtures/autoloaded_with_conventional_filename/nested/doubly_nested.rb +9 -0
  36. data/spec/fixtures/autoloaded_with_conventional_filename/old_school_autoload.rb +5 -0
  37. data/spec/fixtures/autoloaded_with_unconventional_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/filenames/AFilename.rb +0 -0
  42. data/spec/fixtures/filenames/a-file-name.rb +0 -0
  43. data/spec/fixtures/filenames/a-filename.rb +0 -0
  44. data/spec/fixtures/filenames/a_file_name.rb +0 -0
  45. data/spec/fixtures/filenames/a_filename.rb +0 -0
  46. data/spec/fixtures/filenames/afile-name.rb +0 -0
  47. data/spec/fixtures/filenames/afile_name.rb +0 -0
  48. data/spec/fixtures/not_autoloaded.rb +5 -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/matchers.rb +85 -0
  52. data/spec/spec_helper.rb +91 -0
  53. data/spec/support/util.rb +42 -0
  54. data/spec/support/without_side_effects.rb +37 -0
  55. metadata +86 -22
  56. data/bin/console +0 -10
  57. data/bin/setup +0 -8
  58. data/lib/autoloaded/compatibility/refine_and_using.rb +0 -19
  59. data/lib/autoloaded/constant.rb +0 -94
  60. data/lib/autoloaded/refine.rb +0 -16
  61. data/lib/autoloaded/refine/string.rb +0 -20
  62. data/lib/autoloaded/refine/string/to_source_filename.rb +0 -58
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 4f05e57586f73870920a66d8f3dad6ddad3ec902be70e809668185bba4e9599f
4
- data.tar.gz: af8c4f8ad12bdb20de0284895e6c157a3038078c1c7d57f04b53ec34bb6a2560
2
+ SHA1:
3
+ metadata.gz: 925ea1aba0f2ef88679610b9991b59b47d1624bb
4
+ data.tar.gz: 9a76651fade295cb47f3aa0bb13d4a1d38da1bb6
5
5
  SHA512:
6
- metadata.gz: 1bdfcb7f1d7f76a6c39ec1898c582f42d177d63ac6ff8da9800f07810ab7ef96e40d1714984c3f9d97df6cacafda01e3d117b7e2957857fb3def77cad10225c0
7
- data.tar.gz: 8560f6707ea39d5d6298c3a90133b1e2b49d3e00c519f94fb5eb66eee2f42129b53afb1e40b8bd6ce75e1a0be24aee26ce1d7bd19c15d244feed0e9d1d9a8f7e
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
@@ -1,26 +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
7
  - ruby-head
13
8
  - jruby-head
14
- - rbx
15
- - rbx-2
16
9
  script: "bundle exec rake test"
17
10
  matrix:
18
11
  allow_failures:
19
- - rvm: 1.9
20
12
  - rvm: ruby-head
21
13
  - rvm: jruby-head
22
- - rvm: rbx
23
- - rvm: rbx-2
24
- branches:
25
- except:
26
- - /^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,32 +1,19 @@
1
1
  # Version history for the _Autoloaded_ project
2
2
 
3
- ## <a name="v1.6.0"></a>v1.6.0, Sun 4/05/2020
3
+ ## <a name="v2.0.0"></a>v2.0.0, Sat 12/27/2013
4
4
 
5
- * Eliminate Ruby warnings about
6
- [_Binding#source_location_][Ruby-Core-Binding-source_location]
5
+ * Add support for Ruby v1.9.x
6
+ * Remove deprecated API
7
7
 
8
- ## <a name="v1.5.1"></a>v1.5.1, Wed 10/18/2017
9
-
10
- * Eliminate Ruby warnings about undefined instance variables
11
-
12
- ## <a name="v1.5.0"></a>v1.5.0, Wed 2/22/2017
13
-
14
- * Add support for Ruby load paths (`$:`) that contain one or more
15
- [_Pathname_][Ruby-Stdlib-Pathname] objects
16
-
17
- ## <a name="v1.4.1"></a>v1.4.1, Sat 1/24/2015
18
-
19
- * Don’t warn about a _VERSION_ constant presumably loaded by a _.gemspec_
20
-
21
- ## <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
22
9
 
23
10
  * Add support for relative class references with a new API
24
11
 
25
- ## <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
26
13
 
27
14
  * Add support for [JRuby][JRuby] (Ruby v2.x-compatible versions)
28
15
 
29
- ## <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
30
17
 
31
18
  * Correct/improve autoload behavior
32
19
  * Instead of returning the source **directory** path from
@@ -37,7 +24,7 @@
37
24
  [_Module#constants_][Ruby-Core-Module-constants] in the [readme][readme] and
38
25
  in [inline documentation][inline-documentation]
39
26
 
40
- ## <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
41
28
 
42
29
  * Add support for Ruby v2.0
43
30
 
@@ -45,10 +32,8 @@
45
32
 
46
33
  (First release)
47
34
 
48
- [JRuby]: https://www.jruby.org/
49
- [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"
50
- [Ruby-Core-Module-autoload]: https://ruby-doc.org/core/Module.html#method-i-autoload-3F "‘Module#autoload’ method in the Ruby Core Library"
51
- [Ruby-Core-Module-constants]: https://ruby-doc.org/core/Module.html#method-i-constants "‘Module#constants’ method in the Ruby Core Library"
52
- [Ruby-Stdlib-Pathname]: https://ruby-doc.org/stdlib/libdoc/pathname/rdoc/Pathname.html "‘Pathname’ class in the Ruby Standard Library"
53
- [readme]: https://github.com/njonsson/autoloaded/blob/master/README.md "Autoloaded readme"
54
- [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/README.md CHANGED
@@ -6,6 +6,7 @@
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
 
@@ -44,7 +45,7 @@ Or you may want to make _Autoloaded_ a dependency of your project by using
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
  ```
@@ -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
 
@@ -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
@@ -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
 
@@ -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
@@ -1,50 +1,46 @@
1
1
  # coding: utf-8
2
+
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'autoloaded/version'
5
5
 
6
- Gem::Specification.new do |spec|
7
- spec.name = 'autoloaded'
8
- spec.version = Autoloaded::VERSION
9
- spec.authors = ['Nils Jonsson']
10
- spec.email = ['autoloaded@nilsjonsson.com']
6
+ require 'autoloaded'
11
7
 
12
- spec.summary = <<-end_summary.chomp.gsub(/^\s+/, '').gsub("\n", ' ')
13
- Eliminates the drudgery of handcrafting a Ruby Core
14
- library `autoload` statement for each Ruby source code
15
- file in your project. It also avoids the limitations of
16
- rigid convention-driven facilities such as those provided
17
- by the ActiveSupport RubyGem.
18
- end_summary
19
- spec.description = <<-end_description.chomp.gsub(/^\s+/, '').gsub("\n", ' ')
20
- If you like the ‘Module#autoload’ feature of the Ruby Core
21
- library, you may have wished for Autoloaded. It eliminates
22
- the drudgery of handcrafting an `autoload` statement for
23
- each Ruby source code file in your project. It also avoids
24
- the limitations of rigid convention-driven facilities such
25
- as those provided by the ActiveSupport RubyGem. Autoloaded
26
- assumes, but does not enforce, `CamelCase`-to-`snake_case`
27
- correspondence between the names of constants and source
28
- files. You can combine conventions, even putting multiple
29
- autoloaded constants in a single source file.
30
- end_description
31
- spec.homepage = 'https://njonsson.github.io/autoloaded'
32
- spec.license = 'MIT'
8
+ Gem::Specification.new do |spec|
9
+ spec.name = 'autoloaded'
10
+ spec.version = Autoloaded::VERSION
11
+ spec.authors = ['Nils Jonsson']
12
+ spec.email = ['autoloaded@nilsjonsson.com']
13
+ spec.summary = <<-end_summary.chomp.gsub(/^\s+/, '').gsub("\n", ' ')
14
+ Eliminates the drudgery of handcrafting a Ruby Core
15
+ library `autoload` statement for each Ruby source code
16
+ file in your project. It also avoids the limitations of
17
+ rigid convention-driven facilities such as those
18
+ provided by the ActiveSupport RubyGem.
19
+ end_summary
20
+ spec.description = <<-end_description.chomp.gsub(/^\s+/, '').gsub("\n", ' ')
21
+ If you like the ‘Module#autoload’ feature of the Ruby
22
+ Core library, you may have wished for Autoloaded. It
23
+ eliminates the drudgery of handcrafting an `autoload`
24
+ statement for each Ruby source code file in your
25
+ project. It also avoids the limitations of rigid
26
+ convention-driven facilities such as those provided by
27
+ the ActiveSupport RubyGem. Autoloaded assumes, but does
28
+ not enforce, `CamelCase`-to-`snake_case` correspondence
29
+ between the names of constants and source files. You can
30
+ combine conventions, even putting multiple autoloaded
31
+ constants in a single source file.
32
+ end_description
33
+ spec.homepage = 'http://njonsson.github.io/autoloaded'
34
+ spec.license = 'MIT'
33
35
 
34
- spec.required_ruby_version = '~> 2'
36
+ spec.files = `git ls-files -z`.split("\x0")
37
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename f }
38
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
39
+ spec.require_paths = ['lib']
35
40
 
36
- spec.add_development_dependency 'codeclimate-test-reporter', '~> 0'
37
- if RUBY_VERSION < '2.2'
38
- spec.add_development_dependency 'rake', '~> 12'
39
- else
40
- spec.add_development_dependency 'rake', '~> 13'
41
- end
42
- spec.add_development_dependency 'rspec', '~> 3.3'
41
+ spec.required_ruby_version = '>= 1.9', '< 3'
43
42
 
44
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
45
- f.match(%r{^(test|spec|features)/})
46
- end
47
- spec.bindir = 'exe'
48
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename f }
49
- spec.require_paths = %w(lib)
43
+ spec.add_development_dependency 'bundler', '~> 1'
44
+ spec.add_development_dependency 'rake', '~> 10'
45
+ spec.add_development_dependency 'rspec', '~> 3'
50
46
  end