autorequire_rails 1.0.2 → 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.
- checksums.yaml +4 -4
- data/.github/pull_request_template.md +3 -0
- data/.github/workflows/check_pull_request.yml +54 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +10 -14
- data/CHANGELOG.md +35 -4
- data/Gemfile +13 -2
- data/LICENSE.md +17 -16
- data/README.md +17 -14
- data/Rakefile +3 -2
- data/autorequire_rails.gemspec +4 -10
- data/bin/console +3 -4
- data/bin/rails +4 -4
- data/bin/start_rspec +38 -0
- data/config/initializers/gem_autorequire_rails.rb +1 -1
- data/lib/autorequire_rails/version.rb +1 -1
- data/lib/autorequire_rails.rb +2 -2
- metadata +10 -93
- data/.travis.yml +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8fdbdb9564ad7d8626f81f5d273dc8b6177cdc36a0b8a057d17cb142c8454e1
|
4
|
+
data.tar.gz: c56a1ec65d0f0bb8491875b06f6fa47271064c5b31b55accf389e40ecb495515
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2babe60333c05bb1158645ca91ac3353496ed889a98dbc312895a9d5a06f03edde6d23c98fb9f9aa7794348b60be3e12a559be9c0bb72dda12ea6cb3478f6e24
|
7
|
+
data.tar.gz: a3ed93193341adeb59f326b93ba527a81f2ccf0d4588ca66f735619eae9a349091477fe1f886de13a3a1bd679eb6cb48c4c1a0a31110aaa341fda4a43097e604
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# This workflow will download prebuilt Ruby versions, install dependencies and run checks against Pull Requests.
|
2
|
+
|
3
|
+
name: Check Pull Request
|
4
|
+
on:
|
5
|
+
pull_request:
|
6
|
+
branches: [ master ]
|
7
|
+
env:
|
8
|
+
# The pull request can have less than, or equal to, this number of rubocop issues and pass.
|
9
|
+
RUBOCOP_ISSUE_THRESHOLD: 5
|
10
|
+
jobs:
|
11
|
+
rspec:
|
12
|
+
name: Run RSpec
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
strategy:
|
15
|
+
matrix:
|
16
|
+
ruby-version: ['3.1', '3.2', '3.3']
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v2
|
19
|
+
- name: Set up Ruby
|
20
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
21
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
22
|
+
uses: ruby/setup-ruby@v1
|
23
|
+
with:
|
24
|
+
ruby-version: ${{ matrix.ruby-version }}
|
25
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
26
|
+
- name: Execute rspec command
|
27
|
+
run: bin/start_rspec
|
28
|
+
rubocop:
|
29
|
+
name: Run Rubocop
|
30
|
+
runs-on: ubuntu-latest
|
31
|
+
strategy:
|
32
|
+
matrix:
|
33
|
+
ruby-version: ['3.1']
|
34
|
+
steps:
|
35
|
+
- uses: actions/checkout@v2
|
36
|
+
- name: Set up Ruby
|
37
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
38
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
39
|
+
uses: ruby/setup-ruby@v1
|
40
|
+
with:
|
41
|
+
ruby-version: ${{ matrix.ruby-version }}
|
42
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
43
|
+
- name: Execute rubo command
|
44
|
+
run: bundle exec rubo
|
45
|
+
- name: Evaluate rubo threshold
|
46
|
+
run: |
|
47
|
+
count=$(cat rubocop/total-violations-count.txt)
|
48
|
+
if [[ "$count" -gt $RUBOCOP_ISSUE_THRESHOLD ]]; then
|
49
|
+
echo "Failure: Found $count RuboCop issue(s). It must have $RUBOCOP_ISSUE_THRESHOLD or less. \
|
50
|
+
Run 'rubo' and resolve the issues listed in rubocop/style-issues.html"
|
51
|
+
exit 1
|
52
|
+
else
|
53
|
+
echo "Success: Found $count RuboCop issue(s), which is less than the limit of $RUBOCOP_ISSUE_THRESHOLD"
|
54
|
+
fi
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,18 +1,14 @@
|
|
1
|
-
|
2
|
-
Exclude:
|
3
|
-
- spec/dummy/db/schema.rb
|
1
|
+
# DO NOT MODIFY THIS FILE unless you want to deviate from the rubocop_plus ruleset.
|
4
2
|
|
5
|
-
|
6
|
-
|
3
|
+
# This file defines the settings used by rubocop when it runs. You would normally add your customizations directly to this
|
4
|
+
# file, but this file has been pre configured to read settings out of the rubocop_plus gem instead.
|
7
5
|
|
8
|
-
|
9
|
-
|
6
|
+
# Tell rubocop to load its settings from the rubocop_plus gem.
|
7
|
+
inherit_gem:
|
8
|
+
rubocop_plus: config/rubocop.yml
|
10
9
|
|
11
|
-
|
12
|
-
|
13
|
-
- spec/dummy/bin/yarn
|
10
|
+
Rails:
|
11
|
+
Enabled: true
|
14
12
|
|
15
|
-
|
16
|
-
|
17
|
-
- spec/dummy/bin/setup
|
18
|
-
- spec/dummy/bin/update
|
13
|
+
# Place custom settings below this comment. All customizations will OVERRIDE rubocop_plus rules. rubocop_plus & rubocop
|
14
|
+
# do not attempt to merge these settings with their defaults. Long term changes should be ported to the rubocop_plus gem.
|
data/CHANGELOG.md
CHANGED
@@ -1,14 +1,45 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
Issues are tracked at https://github.com/roberts1000/autorequire_rails/issues. Issues marked as **(Internal)** only affect development.
|
4
|
+
|
5
|
+
## 2.0.0 (Jun 03, 2024)
|
6
|
+
|
7
|
+
1. [#60](../../issues/60): Update dev gems. **(Internal)**
|
8
|
+
1. [#62](../../issues/62): Remove Ruby 2.6 support.
|
9
|
+
1. [#64](../../issues/64): Remove Ruby 2.7 support.
|
10
|
+
1. [#66](../../issues/66): Add Ruby 3.1 support.
|
11
|
+
1. [#68](../../issues/68): Remove Ruby 3.0 support.
|
12
|
+
1. [#70](../../issues/70): Add Ruby 3.2 support.
|
13
|
+
1. [#71](../../issues/71): Add Ruby 3.3 support.
|
14
|
+
1. [#74](../../issues/74): Add PR template. **(Internal)**
|
15
|
+
1. [#76](../../issues/76): Make Rails 7.1 the min supported version.
|
16
|
+
|
17
|
+
## 1.1.0 (Aug 14, 2021)
|
18
|
+
|
19
|
+
1. [#13](../../issues/13): Add the rubocop_plus gem and cleanup internal code. **(Internal)**
|
20
|
+
1. [#15](../../issues/15): Add the rspec_starter gem to run rspec specs. **(Internal)**
|
21
|
+
1. [#29](../../issues/29): Use `puma ~> 5.3` for development. **(Internal)**
|
22
|
+
1. [#30](../../issues/30): Update the `CHANGELOG`. **(Internal)**
|
23
|
+
1. [#32](../../issues/32): Add GitHub action to check pull requests. **(Internal)**
|
24
|
+
1. [#35](../../issues/35): Use `sqlite3` `~> 1.4.0` for development. **(Internal)**
|
25
|
+
1. [#37](../../issues/37): Use `rspec-rails` `~> 5.0.0` for development. **(Internal)**
|
26
|
+
1. [#39](../../issues/39): Use `rubocop_plus` `~> 2.0` for development. **(Internal)**
|
27
|
+
1. [#41](../../issues/41): Use `rake` `~> 13.0` for development. **(Internal)**
|
28
|
+
1. [#44](../../issues/44): Drop support for Rails 5.1 and earlier.
|
29
|
+
1. [#46](../../issues/46): Modernize spec dummy setup. **(Internal)**
|
30
|
+
1. [#48](../../issues/48): Sort autorequired files before requiring.
|
31
|
+
1. [#51](../../issues/51): Set `required_ruby_version` to `>= 2.6.0`.
|
32
|
+
1. [#54](../../issues/54): Use `rspec_starter` `~> 2.0`. **(Internal)**
|
33
|
+
|
3
34
|
## 1.0.2 (Jan 08, 2018)
|
4
35
|
|
5
|
-
1.
|
36
|
+
1. Nothing new; republishing to replace the yanked 1.0.1 version.
|
6
37
|
|
7
38
|
## 1.0.1 (Jan 08, 2018)
|
8
39
|
|
9
|
-
1. Polish the gem and add automated tests.
|
10
|
-
1. Reduce rubocop violations to 0.
|
40
|
+
1. [#3](../../issues/3): Polish the gem and add automated tests. **(Internal)**
|
41
|
+
1. [#6](../../issues/6): Reduce rubocop violations to 0. **(Internal)**
|
11
42
|
|
12
43
|
## 1.0.0 (Jan 07, 2018)
|
13
44
|
|
14
|
-
1. Autorequire all files in `lib/autorequire` via an initializer.
|
45
|
+
1. [#1](../../issues/1): Autorequire all files in `lib/autorequire` via an initializer.
|
data/Gemfile
CHANGED
@@ -1,9 +1,20 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
2
3
|
|
3
4
|
# Specify your gem's dependencies in autorequire_rails.gemspec
|
4
5
|
gemspec
|
5
6
|
|
7
|
+
group :development do
|
8
|
+
gem 'rspec_starter', "~> 3.0", require: false
|
9
|
+
gem 'rubocop_plus', "~> 2.0", require: false
|
10
|
+
end
|
11
|
+
|
6
12
|
group :development, :test do
|
7
|
-
gem
|
8
|
-
gem
|
13
|
+
gem "bundler", "~> 2.0"
|
14
|
+
gem "debug", "~> 1.9"
|
15
|
+
gem "puma", "~> 6.4"
|
16
|
+
gem "rake", "~> 13.0"
|
17
|
+
gem "rspec-rails", "~> 6.1.2"
|
18
|
+
gem "sass-rails", "~> 6.0"
|
19
|
+
gem "sqlite3", "~> 1.4"
|
9
20
|
end
|
data/LICENSE.md
CHANGED
@@ -1,21 +1,22 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright
|
3
|
+
Copyright 2021 roberts1000
|
4
4
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
-
of this software and associated documentation files (the
|
7
|
-
in the Software without restriction, including
|
8
|
-
to use, copy, modify, merge, publish,
|
9
|
-
copies of the Software, and to
|
10
|
-
furnished to do so, subject to
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
11
12
|
|
12
|
-
The above copyright notice and this permission notice shall be
|
13
|
-
all copies or substantial portions of the Software.
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
14
15
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
THE SOFTWARE.
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -2,17 +2,24 @@
|
|
2
2
|
|
3
3
|
autorequire_rails is a Rails engine that automatically requires all ruby files in `lib/autorequire` when a Rails app boots.
|
4
4
|
|
5
|
-
Why is this useful?
|
5
|
+
Why is this useful? Rails has multiple strategies for loading code and there are scenarios that can cause Rails to ignore files in `lib`. One example where this frequently arises is when trying to monkey patch a core ruby class. Many people create a file like `lib/string.rb` and expect Rails to autoload or eagerload it. However, out of the box, Rails isn't configured to reach into `lib` so the code won't get loaded. On top of that, even if Rails were configured to look in `lib`, it still wouldn't work. Constants, like the `String` constant, are always defined so Rails never thinks it needs to find additional files to load.
|
6
6
|
|
7
|
-
To solve these kinds of problems, you typically have to explicitly require files on your own.
|
7
|
+
To solve these kinds of problems, you typically have to explicitly require files on your own. autorequire_rails saves you the trouble and establishes a pattern.
|
8
8
|
|
9
9
|
## Versioning Scheme
|
10
10
|
|
11
|
-
|
11
|
+
Releases are versioned using [SemVer 2.0.0](https://semver.org/spec/v2.0.0.html) with the following caveats:
|
12
12
|
|
13
|
-
|
13
|
+
1. Support for a Ruby version, that reaches EOL, is removed in a major or minor release.
|
14
|
+
1. Support for a Ruby on Rails version, that reaches EOL, is removed in a major or minor release.
|
14
15
|
|
15
|
-
|
16
|
+
## Supported Ruby Versions
|
17
|
+
|
18
|
+
Ruby 3.1+
|
19
|
+
|
20
|
+
## Supported Ruby on Rails Versions
|
21
|
+
|
22
|
+
Rails 7.1+
|
16
23
|
|
17
24
|
## Installation
|
18
25
|
|
@@ -28,24 +35,20 @@ And then execute:
|
|
28
35
|
|
29
36
|
## Usage
|
30
37
|
|
31
|
-
Add any file with a
|
38
|
+
Add any file with a `.rb` extension to the `lib/autorequire` folder (or a sub folder). Rails will automatically load it during the boot process.
|
32
39
|
|
33
40
|
## Recommendations
|
34
41
|
|
35
42
|
#### Recommended Folder Stricture
|
36
43
|
|
37
|
-
You can use any folder structure you like, but
|
44
|
+
You can use any folder structure you like, but it is recommended to put ruby core classes in `lib/autorequire/core_ext` and extensions to gems in a folder like `lib/autorequire/gem_ext/<gem name here>`.
|
38
45
|
|
39
46
|
#### What to Put in lib/autorequire
|
40
47
|
|
41
|
-
Ultimately, `lib/autorequire` is useful for adding code **to constants that are already defined**.
|
48
|
+
Ultimately, `lib/autorequire` is useful for adding code **to constants that are already defined**. As a result, it's ideal for changes to 3rd party libraries and ruby core classes/modules. It can also be used to hold reusable code that can be shared between applications.
|
42
49
|
|
43
|
-
If you're defining **application specific** custom classes and modules, consider using a sub folder inside `app`.
|
50
|
+
If you're defining **application specific** custom classes and modules, consider using a sub folder inside `app`. If you're defining a new constant (and the file name follow proper Rails naming rules), Rails will happily discover it when needed. `app/lib` is a sensible place to hold these kind of classes and modules.
|
44
51
|
|
45
52
|
## Contributing
|
46
53
|
|
47
|
-
Bug reports and pull requests are welcome on
|
48
|
-
|
49
|
-
## License
|
50
|
-
|
51
|
-
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
54
|
+
Bug reports and pull requests are welcome on the autorequire_rails [issues](https://github.com/roberts1000/autorequire_rails/issues) page.
|
data/Rakefile
CHANGED
@@ -4,7 +4,7 @@ rescue LoadError
|
|
4
4
|
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
5
|
end
|
6
6
|
|
7
|
-
APP_RAKEFILE = File.expand_path("
|
7
|
+
APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
|
8
8
|
load 'rails/tasks/engine.rake'
|
9
9
|
load 'rails/tasks/statistics.rake'
|
10
10
|
Bundler::GemHelper.install_tasks
|
@@ -15,7 +15,8 @@ RSpec::Core::RakeTask.new(:spec)
|
|
15
15
|
|
16
16
|
task default: :spec
|
17
17
|
|
18
|
-
|
18
|
+
desc "Run 'rake console' to start a Pry console with the gem loaded"
|
19
|
+
task console: :environment do
|
19
20
|
exec "pry -r autorequire_rails -I ./lib"
|
20
21
|
# exec "irb -r autorequire_rails -I ./lib"
|
21
22
|
end
|
data/autorequire_rails.gemspec
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
lib = File.expand_path('
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
3
|
require 'autorequire_rails/version'
|
4
4
|
|
@@ -10,20 +10,14 @@ Gem::Specification.new do |spec|
|
|
10
10
|
|
11
11
|
spec.summary = "A Rails engine that requires all ruby files in lib/autorequire when a Rails app boots."
|
12
12
|
spec.description = "A Rails engine that requires all ruby files in lib/autorequire when a Rails app boots."
|
13
|
-
spec.homepage = "https://github.com/
|
13
|
+
spec.homepage = "https://github.com/roberts1000/autorequire_rails"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
17
|
spec.bindir = "exe"
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = ["lib"]
|
20
|
+
spec.required_ruby_version = '>= 3.1.0'
|
20
21
|
|
21
|
-
spec.
|
22
|
-
spec.add_development_dependency "pry", "~> 0.11.3"
|
23
|
-
spec.add_development_dependency "rake", "~> 12.0"
|
24
|
-
spec.add_development_dependency "rspec-rails", "~> 3.7.2"
|
25
|
-
spec.add_development_dependency "sass-rails", "~> 5.0"
|
26
|
-
spec.add_development_dependency "sqlite3", "~> 1.3.11"
|
27
|
-
|
28
|
-
spec.add_dependency "rails", ">= 4"
|
22
|
+
spec.add_dependency "rails", ">= 7.1"
|
29
23
|
end
|
data/bin/console
CHANGED
@@ -6,8 +6,7 @@ require "autorequire_rails"
|
|
6
6
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
8
8
|
|
9
|
-
|
10
|
-
Pry.start
|
9
|
+
# Run 'rake console' to start a pry console.
|
11
10
|
|
12
|
-
|
13
|
-
|
11
|
+
require "irb"
|
12
|
+
IRB.start
|
data/bin/rails
CHANGED
@@ -3,12 +3,12 @@
|
|
3
3
|
# This command will automatically be run when you run "rails" with Rails gems
|
4
4
|
# installed from the root of your application.
|
5
5
|
|
6
|
-
ENGINE_ROOT = File.expand_path('
|
7
|
-
ENGINE_PATH = File.expand_path('
|
8
|
-
APP_PATH = File.expand_path('
|
6
|
+
ENGINE_ROOT = File.expand_path('..', __dir__)
|
7
|
+
ENGINE_PATH = File.expand_path('../lib/autorequire_rails/engine', __dir__)
|
8
|
+
APP_PATH = File.expand_path('../spec/dummy/config/application', __dir__)
|
9
9
|
|
10
10
|
# Set up gems listed in the Gemfile.
|
11
|
-
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('
|
11
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
12
12
|
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
13
13
|
|
14
14
|
require 'rails/all'
|
data/bin/start_rspec
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Execute this script to run RSpec for the app.
|
4
|
+
# To run all specs, navigate to the application's root folder and execute
|
5
|
+
# bin/start_rspec
|
6
|
+
# rspec_starter takes command line options and forwards unknown options to rspec
|
7
|
+
# bin/start_rspec --no-prep-db spec/features
|
8
|
+
# See the help output for more advanced ways to run the script
|
9
|
+
# bin/start_rspec --help
|
10
|
+
|
11
|
+
require "bundler/setup"
|
12
|
+
require "rspec_starter"
|
13
|
+
|
14
|
+
# The path to the application's root folder.
|
15
|
+
APP_ROOT = Pathname.new File.expand_path('..', __dir__)
|
16
|
+
|
17
|
+
# Create a custom task. For more information about custom tasks, see
|
18
|
+
# https://github.com/roberts1000/rspec_starter. Once defined, add
|
19
|
+
# 'task :my_custom_task' to the start block to execute.
|
20
|
+
#
|
21
|
+
# class MyCustomTask < RspecStarterTask
|
22
|
+
# # Specify a message to show users when the task executes.
|
23
|
+
# def starting_message
|
24
|
+
# "Executing My Custom Task"
|
25
|
+
# end
|
26
|
+
#
|
27
|
+
# # Execute task code.
|
28
|
+
# def execute
|
29
|
+
# end
|
30
|
+
# end
|
31
|
+
|
32
|
+
# Tasks are run from the top down.
|
33
|
+
RspecStarter.start do
|
34
|
+
task :verify_display_server
|
35
|
+
task :remove_tmp_folder, remove_dummy_tmp: true
|
36
|
+
task :rebuild_rails_app_database
|
37
|
+
task :start_rspec
|
38
|
+
end
|
@@ -8,4 +8,4 @@
|
|
8
8
|
# and any methods defined in string.rb will never be loaded. The general solution to this problem is to
|
9
9
|
# manually require files that extend core classes inside an initializer. The autorequire pattern takes this
|
10
10
|
# a step farther by giving us a place to automatically require any .rb file.
|
11
|
-
Dir.glob(Rails.root.join('lib', 'autorequire', '**', '*.rb')).each { |f| require f }
|
11
|
+
Dir.glob(Rails.root.join('lib', 'autorequire', '**', '*.rb')).sort.each { |f| require f }
|
data/lib/autorequire_rails.rb
CHANGED
@@ -5,9 +5,9 @@ require "autorequire_rails/engine"
|
|
5
5
|
# Setup pry for development when running "rake console". Guard against load
|
6
6
|
# errors in production (since pry is only loaded as a DEVELOPMENT dependency
|
7
7
|
# in the .gemspec)
|
8
|
-
# rubocop:disable Lint/
|
8
|
+
# rubocop:disable Lint/SuppressedException
|
9
9
|
begin
|
10
10
|
require "pry"
|
11
11
|
rescue LoadError
|
12
12
|
end
|
13
|
-
# rubocop:enable Lint/
|
13
|
+
# rubocop:enable Lint/SuppressedException
|
metadata
CHANGED
@@ -1,113 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autorequire_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- roberts1000
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.16'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.16'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: pry
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0.11.3
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 0.11.3
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '12.0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '12.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rspec-rails
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 3.7.2
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 3.7.2
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: sass-rails
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '5.0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '5.0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: sqlite3
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 1.3.11
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 1.3.11
|
97
13
|
- !ruby/object:Gem::Dependency
|
98
14
|
name: rails
|
99
15
|
requirement: !ruby/object:Gem::Requirement
|
100
16
|
requirements:
|
101
17
|
- - ">="
|
102
18
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
19
|
+
version: '7.1'
|
104
20
|
type: :runtime
|
105
21
|
prerelease: false
|
106
22
|
version_requirements: !ruby/object:Gem::Requirement
|
107
23
|
requirements:
|
108
24
|
- - ">="
|
109
25
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
26
|
+
version: '7.1'
|
111
27
|
description: A Rails engine that requires all ruby files in lib/autorequire when a
|
112
28
|
Rails app boots.
|
113
29
|
email:
|
@@ -116,10 +32,11 @@ executables: []
|
|
116
32
|
extensions: []
|
117
33
|
extra_rdoc_files: []
|
118
34
|
files:
|
35
|
+
- ".github/pull_request_template.md"
|
36
|
+
- ".github/workflows/check_pull_request.yml"
|
119
37
|
- ".gitignore"
|
120
38
|
- ".rspec"
|
121
39
|
- ".rubocop.yml"
|
122
|
-
- ".travis.yml"
|
123
40
|
- CHANGELOG.md
|
124
41
|
- Gemfile
|
125
42
|
- LICENSE.md
|
@@ -129,11 +46,12 @@ files:
|
|
129
46
|
- bin/console
|
130
47
|
- bin/rails
|
131
48
|
- bin/setup
|
49
|
+
- bin/start_rspec
|
132
50
|
- config/initializers/gem_autorequire_rails.rb
|
133
51
|
- lib/autorequire_rails.rb
|
134
52
|
- lib/autorequire_rails/engine.rb
|
135
53
|
- lib/autorequire_rails/version.rb
|
136
|
-
homepage: https://github.com/
|
54
|
+
homepage: https://github.com/roberts1000/autorequire_rails
|
137
55
|
licenses:
|
138
56
|
- MIT
|
139
57
|
metadata: {}
|
@@ -145,15 +63,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
63
|
requirements:
|
146
64
|
- - ">="
|
147
65
|
- !ruby/object:Gem::Version
|
148
|
-
version:
|
66
|
+
version: 3.1.0
|
149
67
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
68
|
requirements:
|
151
69
|
- - ">="
|
152
70
|
- !ruby/object:Gem::Version
|
153
71
|
version: '0'
|
154
72
|
requirements: []
|
155
|
-
|
156
|
-
rubygems_version: 2.7.4
|
73
|
+
rubygems_version: 3.5.11
|
157
74
|
signing_key:
|
158
75
|
specification_version: 4
|
159
76
|
summary: A Rails engine that requires all ruby files in lib/autorequire when a Rails
|