rux-rails 1.2.0 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/rux-rails/core_ext/kernel_zeitwerk.rb +2 -2
- data/lib/rux-rails/ext/zeitwerk/loader.rb +6 -5
- data/lib/rux-rails/railtie.rb +9 -6
- data/lib/rux-rails/version.rb +1 -1
- data/spec/dummy/app/components/home_component.rb +2 -2
- data/spec/dummy/config/application.rb +1 -1
- data/spec/dummy/log/test.log +89 -2219
- metadata +3 -53
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/32/32pb_0TYQBmjctU3QYUyA67SPPU4r3O3GRrrvvGPmiE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3K/3KjU_rFDGewKaqHawzGeJe2gEICBn5tcZo3sYuMFzIc.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5M/5Mgf_F6qKQefTdtCoiuuLF0AR8nP_GPs-u-PcTufYzs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5x/5xP7khlwunCGtQQ9t_SuYBsA61JaFMr__1jYkIy98XY.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6m/6mYj-71y_0hKIq32e38vFCEt9LfF87vohAsWW2Wbg0M.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/A1/A1cFLBRsUT1Kvkt38lHj0w-Z2vLB9AsYtkDX2XJjz0Q.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Cn/CnDEkVSwPDYPIPiJFYRSFLGqSCY_pkS_V7Dz-GfmlwY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DK/DKD3m4yzw3TjiKBihS0UPyPMDs9kI8cp-SU3livdbLs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/IW/IWWGQkVdUgcmpscwHv4rrweteApumkA_mlohZc7x5MQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ir/IrSasvUim90oUR7YrMBuLayhD0MPwEV58KF_CjMUn3Q.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/LE/LEJsgTyA6opQbKQ_CTYaKZFGvfcrLz2HvBFYDOCJ1X8.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/MH/MHOHDnE27pZhoY720dRuX3Aci9c3wdtzVFMck4l5I7k.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/MI/MImCtRvR-FLuuVSxhJuPGQMGqiRd8YAbtuCF9_7hpYo.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Nf/NfmBq6JQlKu-xOZEvol2JVtefL8z2CovBlU7pB_62Cs.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ng/NgcuRXtzOH2ayPjP4-mEy0TczGm-QQX8cJgFa9Q9V0g.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ni/NiNyWknHu11HPZMGF6uzXEGm3uWR8IDRXxbdHaDb-B8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/O7/O7hfUP8Ab39Pr3RFJ-hjEQwzL5g5bV34jqrgfAHttPk.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Od/OdDm67gkecLUhzycAeoA1oGrrYEOHA7Pjh8yC008ZSE.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/PN/PN84ONAmRFDLuRDczB_bZ_J5bOGZ_wnS3wbUHCwQL6I.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Qi/QihD5ZjyFdxwcO4hS2LO_CKB5sER91fZwGdG3l90ibY.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Qp/Qp3zeUqqFCCB7ftjQceTBcEblRXGptQj1Il_RXc0LGo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RQ/RQEUV9iD5r_MyVa8CQDjmCLLYJxEs2vq6gy3MhdpRc4.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Sm/Sm1vmN88CL-bAk2LKuGzKuO05wEDo-UGe7OzGjGSVhM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Uw/UwbxWHbEmhghk4TR5gC2s8Lv4JHDh2JG9xiqVYhXXsU.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/X0/X0Olhu8L-YHuCt7-6IDs85GOR1Qjw2uQenbBT_JvdI4.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Yd/YdUPIlAOT8anTOlcrIkX7LCq7pVmacbmzb71PRmiyuo.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Z-/Z-GpjYZu9P-kHgu4EP2mWfIJpBbLQXo2K84rYUvfbzE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ZI/ZId3kgSFsO8e39IJkB-1aDJqOaX1MqIHuwW0iCkSLGI.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zr/Zr0O2TWCAVE8nF3AgLKuhZMhTIPg1D3Z5xwULyBUZKU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/aA/aAjjvDUDBEAs-2nAL4LDASNpmJJ8uGxUB56Q-f3IC8c.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fH/fHqdxZg60xcEnxUyaQYIA6mkvBUILR025tWJoSwfVsY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fK/fKmXQml02NUF4j7kJ6e4Zcp6TcIHj7NQxrHgy8BgbYQ.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fu/fuD9esQDi8ZNKnICDWYSwr4hudCvzlZdWzsSMlvmCwM.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/h0/h08cse92uOenHyfLkUVYhzV1fnofHOSIjdOgbP5PJng.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hq/hqCrs7MASvB0XlwcwyBYRZsMlyUvV3-kEJo0fqWOUHQ.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kA/kA49hHnh_KnK-HMeoHgMxO1nN02-CP1noUR5_xXvRBQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kw/kwNFhW24nxXy_HfVKYdXJyRqhu7ljgl9wR2DcJUo-nA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mz/mzI4PfMw958wA6D3gAWAUKuRNTqotuxUF_M7z5qvlDc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/n7/n7EZC0292NrKBtK_fDPAZy7iSQcAYYsu8SgtfGw42ck.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oW/oWyMglNdSdtQBhKBrh-uX5gKeT09QXsejojnLyDyF0w.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pb/pbPD_X8-SCVPyisI4GhmmMbvioVDWP0u9Jl-HoRfHrs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/rj/rjai7nOMMVVC5ReIlRqsGAMUHmOxWjpJmJ8kQQnuO7w.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/tO/tOXcpquR94HvQx0bF2pphwzXcUxgaFx3e27nZqsa7pc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/vE/vEsbMAeGNdEnGc_YJFoitBHn5TOLarMYxpidS0J_Hy8.cache +0 -1
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wN/wNw4kAG0E_RrvLeFAizMmTp_0jh-HGw1ONLtRyw92z0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wj/wj3J7_iMl77w2K5Vuffalm1YjAaVImB5RZqgZ5_3jjE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/x-/x-NRUZ7BdXDbL3MOxJkPGMIoA3vxIUBueucxvozhT1A.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xZ/xZ_GDDoVsf4lq9-Fjl6wT6g5hwkQw9NyamPPMGHeybY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/z5/z5WcmxKsYsoeqz5mkpx6aF6m3Z9k3TBPIanyLqX9bos.cache +0 -1
- data/spec/dummy/tmp/development_secret.txt +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71cd84c42747191f92518e982abfb2f631dc2d4238dfc377e58abdd168d9bf0a
|
4
|
+
data.tar.gz: '098b4d8af3d352512a82143fae3ac3c8ac04b9d8f080906838017410c6d17324'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4a554cd0d719bbd78dc46d99aaaa801fedd83b10c8917242dae01f3e4bbe51f0aabe7f2f7eb626f25379fd0bbfce01e934c055ad98443a56d6f698af2210334
|
7
|
+
data.tar.gz: 82e1d14c6083c55bdb653147e07fdf16f4416f000d4555c094ac7700fd98db0da989723d89adcee4df4e00524926f945004bce936cb84f7fcd1ab4c2734b976b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 1.2.2
|
2
|
+
* Fix calling private Zeitwerk method.
|
3
|
+
* Check railties version in dummy app instead of rails.
|
4
|
+
|
5
|
+
## 1.2.1
|
6
|
+
* Support newer versions of Zeitwerk (2.5 and beyond).
|
7
|
+
* Support Rails 7.
|
8
|
+
|
1
9
|
## 1.2.0
|
2
10
|
* Require ext patches in railtie to take advantage of Rails' `config.autoloader` setting.
|
3
11
|
- This should fix Rails setups in which Zeitwerk is part of the Gemfile but `config.autoloader` is set to `:classic` (previously rux-rails relied on attempting to `require` zeitwerk and `rescue`ing the possible `LoadError`).
|
@@ -14,7 +14,7 @@ module Kernel
|
|
14
14
|
# an uninitialized constant, and it's like... yeah, I _know_ it's
|
15
15
|
# uninitialized, that's why I'm loading this file. Whatevs.
|
16
16
|
loader = Zeitwerk::Registry.loader_for(file)
|
17
|
-
parent, cname = loader.autoloads[file]
|
17
|
+
parent, cname = loader.send(:autoloads)[file]
|
18
18
|
parent.send(:remove_const, cname)
|
19
19
|
|
20
20
|
return rux_orig_load(tmpl.default_outfile, *args)
|
@@ -48,7 +48,7 @@ module Kernel
|
|
48
48
|
# This will be either Ruby's original require or bootsnap's monkeypatched
|
49
49
|
# require in setups that use bootsnap. Lord help us with all these layers
|
50
50
|
# of patches.
|
51
|
-
return
|
51
|
+
return rux_orig_require(file)
|
52
52
|
end
|
53
53
|
|
54
54
|
return false if $LOADED_FEATURES.include?(path)
|
@@ -10,11 +10,12 @@ module RuxRails
|
|
10
10
|
|
11
11
|
def autoload_file(parent, cname, file)
|
12
12
|
if file.end_with?('.rux')
|
13
|
-
# Zeitwerk very naïvely
|
14
|
-
# an attempt to strip off the .rb file extension,
|
15
|
-
#
|
16
|
-
# trailing leftover period
|
17
|
-
|
13
|
+
# Some older versions of Zeitwerk very naïvely try to remove only the
|
14
|
+
# last 3 characters in an attempt to strip off the .rb file extension,
|
15
|
+
# while newer ones only remove it if it's actually there. This line is
|
16
|
+
# necessary to remove the trailing leftover period for older versions,
|
17
|
+
# and remove the entire .rux extension for newer versions.
|
18
|
+
cname = cname.to_s.chomp('.').chomp('.rux').to_sym
|
18
19
|
else
|
19
20
|
# if there is a corresponding .rux file, autoload it instead of the .rb
|
20
21
|
# file
|
data/lib/rux-rails/railtie.rb
CHANGED
@@ -1,20 +1,23 @@
|
|
1
1
|
require 'rails/railtie'
|
2
2
|
|
3
|
+
require 'active_support'
|
4
|
+
require 'active_support/isolated_execution_state' if ActiveSupport::VERSION::MAJOR > 6
|
5
|
+
|
3
6
|
module RuxRails
|
4
7
|
class Railtie < Rails::Railtie
|
5
8
|
config.rux = ActiveSupport::OrderedOptions.new
|
6
9
|
|
7
10
|
initializer 'rux-rails.initialize', before: :set_autoload_paths do |app|
|
8
|
-
if
|
9
|
-
require 'rux-rails/core_ext/kernel'
|
10
|
-
require 'rux-rails/ext/activesupport/dependencies'
|
11
|
-
|
12
|
-
RuxRails.zeitwerk_mode = false
|
13
|
-
else
|
11
|
+
if Rails.respond_to?(:autoloaders) && Rails.autoloaders.zeitwerk_enabled?
|
14
12
|
require 'rux-rails/core_ext/kernel_zeitwerk'
|
15
13
|
require 'rux-rails/ext/zeitwerk/loader'
|
16
14
|
|
17
15
|
RuxRails.zeitwerk_mode = true
|
16
|
+
else
|
17
|
+
require 'rux-rails/core_ext/kernel'
|
18
|
+
require 'rux-rails/ext/activesupport/dependencies'
|
19
|
+
|
20
|
+
RuxRails.zeitwerk_mode = false
|
18
21
|
end
|
19
22
|
|
20
23
|
begin
|
data/lib/rux-rails/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
class HomeComponent < ViewComponent::Base
|
2
2
|
def call
|
3
|
-
Rux.tag("div", class: "container") {
|
4
|
-
Rux.create_buffer.tap { |_rux_buf_
|
3
|
+
Rux.tag("div", { class: "container" }) {
|
4
|
+
Rux.create_buffer.tap { |_rux_buf_|
|
5
5
|
_rux_buf_ << " "
|
6
6
|
_rux_buf_ << render(Image.new(src: "cat.png", size: "40"))
|
7
7
|
_rux_buf_ << " "
|
@@ -2,7 +2,7 @@ module RuxRails
|
|
2
2
|
class DummyApplication < ::Rails::Application
|
3
3
|
if config.respond_to?(:load_defaults)
|
4
4
|
config.load_defaults(
|
5
|
-
Gem.loaded_specs['
|
5
|
+
Gem.loaded_specs['railties'].version.to_s.split('.')[0..1].join('.')
|
6
6
|
)
|
7
7
|
end
|
8
8
|
|