rux-rails 1.3.0 → 1.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69a808afcb08d05209e5e4c8a759bf96524ec8f2580647ac216332a585271fac
4
- data.tar.gz: bce97762fcd5076e2a572661aedc2a02424fdabf804f1d869d8a7156acc73c0a
3
+ metadata.gz: 80c3381d7ae7854540067cd7267c5636961a7b30a538fad7c5fd063c5cb12a64
4
+ data.tar.gz: c4234d93e5b93109b612a5249f06b065cc53157999246cc04f12aea1bdc98cad
5
5
  SHA512:
6
- metadata.gz: 73031ea1107540cf63e5834a8b7cdb46e7470d49832cc45b4b86f51edbd5a29611bb120b8f6cefa35505a6c2e2173c08cab1b6996fc2e3d7b435f58d37c66daa
7
- data.tar.gz: b3a6049fbbfd8972a9c09dd445193da594f23080d0b0b121bf2b795c0683dac64eb248eaa22de6278543479d08d5d7b42eac84984a72e77c6de628ae5cfc386a
6
+ metadata.gz: 8b61ed880646e3a058c4bd525f6f7fe9e308fe066f40d76c53ea312a5c604874eb321405f9d41f3a026221df3a83b3049356c1146f897ca7c9c4cf96b5274443
7
+ data.tar.gz: 6aa7c072623ab565de33479b0428c096412377f9cf020c0c91751cf9b80e2f21fad1c2f8500a95b2b67dd5450a985ef8a5d0162ac72978d6cd1de04d706b64dc
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 1.4.0
2
+ * Make rux-rails safe to load in production.
3
+ - All the monkeypatches to `Kernel`, etc are now only loaded if `config.rux.transpile` is `true`.
4
+
1
5
  ## 1.3.0
2
6
  * Add support for view_component v3.0.
3
7
 
data/Gemfile CHANGED
@@ -11,6 +11,9 @@ end
11
11
 
12
12
  group :development do
13
13
  gem 'appraisal'
14
+ gem 'benchmark-ips'
15
+ gem 'rails', '~> 7.0'
16
+ gem 'slim', '~> 5.0'
14
17
  end
15
18
 
16
19
  group :test do
@@ -8,35 +8,37 @@ module RuxRails
8
8
  config.rux = ActiveSupport::OrderedOptions.new
9
9
 
10
10
  initializer 'rux-rails.initialize', before: :set_autoload_paths do |app|
11
- if Rails.respond_to?(:autoloaders) && Rails.autoloaders.zeitwerk_enabled?
12
- require 'rux-rails/core_ext/kernel_zeitwerk'
13
- require 'rux-rails/ext/zeitwerk/loader'
11
+ if config.rux.transpile.nil? && (Rails.env.development? || Rails.env.test?)
12
+ config.rux.transpile = true
13
+ end
14
+
15
+ RuxRails.transpile_on_load = -> () { config.rux.transpile }
14
16
 
15
- RuxRails.zeitwerk_mode = true
16
- else
17
- require 'rux-rails/core_ext/kernel'
18
- require 'rux-rails/ext/activesupport/dependencies'
17
+ if config.rux.transpile
18
+ if Rails.respond_to?(:autoloaders) && Rails.autoloaders.zeitwerk_enabled?
19
+ require 'rux-rails/core_ext/kernel_zeitwerk'
20
+ require 'rux-rails/ext/zeitwerk/loader'
19
21
 
20
- RuxRails.zeitwerk_mode = false
21
- end
22
+ RuxRails.zeitwerk_mode = true
23
+ else
24
+ require 'rux-rails/core_ext/kernel'
25
+ require 'rux-rails/ext/activesupport/dependencies'
26
+
27
+ RuxRails.zeitwerk_mode = false
28
+ end
22
29
 
23
- begin
24
- require 'bootsnap'
25
- rescue LoadError
26
- else
27
- require 'rux-rails/ext/bootsnap/autoload'
30
+ begin
31
+ require 'bootsnap'
32
+ rescue LoadError
33
+ else
34
+ require 'rux-rails/ext/bootsnap/autoload'
35
+ end
28
36
  end
29
37
 
30
38
  ActionView::Template.register_template_handler(
31
39
  :ruxt, RuxRails::TemplateHandler
32
40
  )
33
41
 
34
- if config.rux.transpile.nil? && (Rails.env.development? || Rails.env.test?)
35
- config.rux.transpile = true
36
- end
37
-
38
- RuxRails.transpile_on_load = -> () { config.rux.transpile }
39
-
40
42
  Rux.library_paths.each do |library_path|
41
43
  app.config.eager_load_paths << library_path
42
44
  app.config.autoload_paths << library_path
@@ -1,3 +1,3 @@
1
1
  module RuxRails
2
- VERSION = '1.3.0'
2
+ VERSION = '1.4.0'
3
3
  end
@@ -2,13 +2,10 @@ class HomeComponent < ViewComponent::Base
2
2
  def call
3
3
  Rux.tag("div", { class: "container" }) {
4
4
  Rux.create_buffer.tap { |_rux_buf_|
5
- _rux_buf_ << " "
6
5
  _rux_buf_ << render(Image.new(src: "cat.png", size: "40"))
7
- _rux_buf_ << " "
8
6
  _rux_buf_ << render(Button.new(outline: true, disabled: "true", size: :large)) {
9
- " Click Me! "
7
+ "Click Me!"
10
8
  }
11
- _rux_buf_ << " "
12
9
  }.to_s
13
10
  }
14
11
  end
@@ -193,3 +193,27 @@ Processing by HomeController#index as HTML
193
193
  Rendering home/index.html.ruxt within layouts/application
194
194
  Rendered home/index.html.ruxt within layouts/application (95.1ms)
195
195
  Completed 200 OK in 106ms (Views: 105.4ms)
196
+ Started GET "/" for 127.0.0.1 at 2023-06-07 20:52:52 -0700
197
+ Processing by HomeController#index as HTML
198
+ Rendering home/index.html.ruxt within layouts/application
199
+ Rendered home/index.html.ruxt within layouts/application (88.7ms)
200
+ Completed 200 OK in 100ms (Views: 98.6ms)
201
+ Started GET "/" for 127.0.0.1 at 2023-06-07 20:52:58 -0700
202
+ Processing by HomeController#index as HTML
203
+ Rendering home/index.html.ruxt within layouts/application
204
+ Rendered home/index.html.ruxt within layouts/application (Duration: 75.5ms | Allocations: 45236)
205
+ Completed 200 OK in 88ms (Views: 82.7ms | Allocations: 52067)
206
+ Started GET "/" for 127.0.0.1 at 2023-06-07 20:53:04 -0700
207
+ Processing by HomeController#index as HTML
208
+ Rendering layout layouts/application.html.erb
209
+ Rendering home/index.html.ruxt within layouts/application
210
+ Rendered home/index.html.ruxt within layouts/application (Duration: 85.3ms | Allocations: 44654)
211
+ Rendered layout layouts/application.html.erb (Duration: 85.8ms | Allocations: 44800)
212
+ Completed 200 OK in 100ms (Views: 93.6ms | Allocations: 50960)
213
+ Started GET "/" for 127.0.0.1 at 2023-06-07 20:53:10 -0700
214
+ Processing by HomeController#index as HTML
215
+ Rendering layout layouts/application.html.erb
216
+ Rendering home/index.html.ruxt within layouts/application
217
+ Rendered home/index.html.ruxt within layouts/application (Duration: 84.7ms | Allocations: 44260)
218
+ Rendered layout layouts/application.html.erb (Duration: 85.3ms | Allocations: 44407)
219
+ Completed 200 OK in 108ms (Views: 94.0ms | Allocations: 52425)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rux-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-29 00:00:00.000000000 Z
11
+ date: 2023-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rux