quilt_rails 3.4.1 → 3.5.2
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/README.md +1 -1
- data/lib/quilt_rails/configuration.rb +1 -0
- data/lib/quilt_rails/react_renderable.rb +13 -7
- data/lib/quilt_rails/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e75a3c9179f160afc62c9d7d275913577f1d8f2e639018854e90a823451481ca
|
4
|
+
data.tar.gz: a5979cb7e422567a9f6ab641776fdb59fb9304dd3e6bb83b9313b482798ac427
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bf77688d4b8e9fd4503e0528318a5b4f3cf6a5fd21d6accc75673a29b65765940ef11c4cdc4896c81de44a95c1f007195229c8a4b5532a87ff53b1119a90c8a
|
7
|
+
data.tar.gz: e42d50020da5d75bd4d6695bcdd7580cf17e339e32d6bc15e85da67c6aa4015aec6293625bfc658781ca3d6671fd820c4a5ad20a29a442bfb483f375041a7a26
|
data/README.md
CHANGED
@@ -171,7 +171,7 @@ In some cases you may want to send basic data from Rails to your React server. Q
|
|
171
171
|
|
172
172
|
**Note:** The data passed should be data that is unlikely or will never change over the course of the session before they render any React components.
|
173
173
|
|
174
|
-
**Note:** Please note the minimal dependencies require to use this feature is listed in [CHANGELOG](./CHANGELOG.md#
|
174
|
+
**Note:** Please note the minimal dependencies require to use this feature is listed in [CHANGELOG](./CHANGELOG.md#1.12.0-2020-05-07)
|
175
175
|
|
176
176
|
```ruby
|
177
177
|
class ReactController < ApplicationController
|
@@ -7,7 +7,9 @@ module Quilt
|
|
7
7
|
include ReverseProxy::Controller
|
8
8
|
|
9
9
|
def render_react(headers: {}, data: {})
|
10
|
-
|
10
|
+
if Rails.env.test? && !Quilt.configuration.allow_integration_test
|
11
|
+
raise DoNotIntegrationTestError
|
12
|
+
end
|
11
13
|
|
12
14
|
# Allow concurrent loading to prevent this thread from blocking class
|
13
15
|
# loading in controllers called by the Node server.
|
@@ -20,7 +22,8 @@ module Quilt
|
|
20
22
|
|
21
23
|
def call_proxy(headers, data)
|
22
24
|
if defined? ShopifySecurityBase
|
23
|
-
ShopifySecurityBase::HTTPHostRestriction.
|
25
|
+
allowlist = ShopifySecurityBase::HTTPHostRestriction.respond_to?(:allowlist) ? :allowlist : :whitelist
|
26
|
+
ShopifySecurityBase::HTTPHostRestriction.send(allowlist, [Quilt.configuration.react_server_host]) do
|
24
27
|
proxy(headers, data)
|
25
28
|
end
|
26
29
|
else
|
@@ -37,9 +40,10 @@ module Quilt
|
|
37
40
|
end
|
38
41
|
|
39
42
|
begin
|
43
|
+
data_json = JSON.generate(data.as_json, ascii_only: true)
|
40
44
|
reverse_proxy(
|
41
45
|
url,
|
42
|
-
headers: headers.merge('X-Request-ID': request.request_id, 'X-Quilt-Data':
|
46
|
+
headers: headers.merge('X-Request-ID': request.request_id, 'X-Quilt-Data': data_json)
|
43
47
|
) do |callbacks|
|
44
48
|
callbacks.on_response do |status_code, _response|
|
45
49
|
Quilt.logger.info("[ReactRenderable] #{url} returned #{status_code}")
|
@@ -53,8 +57,8 @@ module Quilt
|
|
53
57
|
class ReactServerNoResponseError < StandardError
|
54
58
|
def initialize(url)
|
55
59
|
super(<<~MSG.squish)
|
56
|
-
|
57
|
-
If this error persists verify that @shopify/react-server is configured on #{url}
|
60
|
+
Connection refused while waiting for React server to boot up.
|
61
|
+
If this error persists, verify that @shopify/react-server is configured on #{url}.
|
58
62
|
MSG
|
59
63
|
end
|
60
64
|
end
|
@@ -62,8 +66,10 @@ module Quilt
|
|
62
66
|
class DoNotIntegrationTestError < StandardError
|
63
67
|
def initialize
|
64
68
|
super(<<~MSG.squish)
|
65
|
-
|
66
|
-
|
69
|
+
Please don't test React views with Ruby.
|
70
|
+
Jest and @shopify/react-testing should be used to test React components.
|
71
|
+
|
72
|
+
If you meant to query your Rails application, please check your integration test for errors.
|
67
73
|
MSG
|
68
74
|
end
|
69
75
|
end
|
data/lib/quilt_rails/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quilt_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mathew Allen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: '0'
|
159
159
|
requirements: []
|
160
|
-
rubygems_version: 3.
|
160
|
+
rubygems_version: 3.2.20
|
161
161
|
signing_key:
|
162
162
|
specification_version: 4
|
163
163
|
summary: A turn-key solution for integrating server-rendered React into your Rails
|