rux-rails 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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