react-rails 3.3.0 → 3.3.1

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.
@@ -66,7 +66,7 @@ module React
66
66
  ActionController::Renderers.add :component do |component_name, options|
67
67
  renderer = ::React::Rails::ControllerRenderer.new(controller: self)
68
68
  html = renderer.call(component_name, options)
69
- render_options = options.merge(inline: html)
69
+ render_options = Railtie.component_render_options(options, html)
70
70
  render(render_options)
71
71
  end
72
72
  end
@@ -76,10 +76,8 @@ module React
76
76
  variant: app.config.react.variant
77
77
  })
78
78
 
79
- sprockets_env = app.assets || app.config.try(:assets) # sprockets-rails 3.x attaches this at a different config
80
- unless sprockets_env.nil?
81
- sprockets_env.version = [sprockets_env.version, "react-#{asset_variant.react_build}"].compact.join("-")
82
- end
79
+ assets = app.assets || app.config.try(:assets) # sprockets-rails 3.x attaches this at a different config
80
+ Railtie.append_react_build_to_assets_version!(assets, asset_variant.react_build)
83
81
  end
84
82
 
85
83
  initializer "react_rails.set_variant", after: :engines_blank_point, group: :all do |app|
@@ -114,6 +112,37 @@ module React
114
112
  React::JSX::SprocketsStrategy.attach_with_strategy(sprockets_env, app.config.react.sprockets_strategy)
115
113
  end
116
114
  end
115
+
116
+ # :nodoc:
117
+ def self.append_react_build_to_assets_version!(assets, react_build)
118
+ versioned_assets = versioned_assets_for(assets)
119
+ return if versioned_assets.nil?
120
+
121
+ versioned_assets.version = [versioned_assets.version, "react-#{react_build}"].compact.join("-")
122
+ end
123
+
124
+ # :nodoc:
125
+ def self.component_render_options(options, html)
126
+ render_options = options.merge(inline: html)
127
+ return render_options if render_options.key?(:layout)
128
+
129
+ render_options.merge(layout: true)
130
+ end
131
+
132
+ def self.versioned_assets_for(assets)
133
+ return assets if versioned_assets?(assets)
134
+
135
+ config = assets.config if assets.respond_to?(:config)
136
+ return config if versioned_assets?(config)
137
+
138
+ nil
139
+ end
140
+
141
+ def self.versioned_assets?(assets)
142
+ assets.respond_to?(:version) && assets.respond_to?(:version=)
143
+ end
144
+
145
+ private_class_method :versioned_assets_for, :versioned_assets?
117
146
  end
118
147
  end
119
148
  end
@@ -4,6 +4,6 @@ module React
4
4
  module Rails
5
5
  # If you change this, make sure to update VERSIONS.md
6
6
  # and republish the UJS by updating package.json and `bundle exec rake ujs:publish`
7
- VERSION = "3.3.0"
7
+ VERSION = "3.3.1"
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: react-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul O’Shannessy
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2026-03-31 00:00:00.000000000 Z
14
+ date: 2026-05-16 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: appraisal