futurism 1.2.0.pre7 → 1.2.0.pre8
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 +15 -1
- data/lib/futurism/helpers.rb +4 -1
- data/lib/futurism/helpers.rb~ +2 -8
- data/lib/futurism/version.rb +1 -1
- data/lib/futurism/version.rb~ +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1bffa6e39b44603caf5ef679a8785e0df31e1019d57e2aef49208751a4fd7ba
|
4
|
+
data.tar.gz: f725d03372fa6919fb633801b884395cfefb88f95944adc22b08889bee97827c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55a981065cef8d8a62f169b0bb360418b642deaee1fc590ef2460c1e2723a60791df0f11e482c14985bfd40daaa9ff8e4a5d223fd26d204e68e31c7eb1675d2d
|
7
|
+
data.tar.gz: 2cdf24b379ca0d654a08981b130b500d2399243d8deeecd59164bc40ff1296f03c64c44606418ff29012dc72b8f546631e79df1af9fca90287340218af2e5a36
|
data/README.md
CHANGED
@@ -21,6 +21,7 @@ Lazy-load Rails partials via CableReady
|
|
21
21
|
- [Explicit Partial](#explicit-partial)
|
22
22
|
- [HTML Options](#html-options)
|
23
23
|
- [Eager Loading](#eager-loading)
|
24
|
+
- [Bypassing](#bypassing)
|
24
25
|
- [Broadcast Partials Individually](#broadcast-partials-individually)
|
25
26
|
- [Contextual Placeholder Arguments](#contextual-placeholder-arguments)
|
26
27
|
- [Events](#events)
|
@@ -175,6 +176,19 @@ Futurism makes that dead simple:
|
|
175
176
|
<% end %>
|
176
177
|
```
|
177
178
|
|
179
|
+
### Bypassing
|
180
|
+
|
181
|
+
In some rare cases, e.g. when combined with CableReady's async `updates_for` mechanism, you'll want to bypass futurism entirely and fall back to native `rendering`. You can do this by passing an `unless` option:
|
182
|
+
|
183
|
+
```erb
|
184
|
+
<%= futurize 'some_tab', unless: bypass_futurism?, extends: :tr do %>
|
185
|
+
<div class="placeholder"</td>
|
186
|
+
<% end %>
|
187
|
+
```
|
188
|
+
|
189
|
+
Internally, this works the same as [bypassing futurism in tests](#testing)
|
190
|
+
|
191
|
+
|
178
192
|
### Broadcast Partials Individually
|
179
193
|
Futurism's default behavior is to `broadcast` partials as they are generated in batches:
|
180
194
|
|
@@ -188,7 +202,7 @@ For collections, however, you can opt into individual broadcasts by specifying `
|
|
188
202
|
<% end %>
|
189
203
|
```
|
190
204
|
|
191
|
-
|
205
|
+
### Contextual Placeholder Arguments
|
192
206
|
|
193
207
|
For individual models or arbitrary collections, you can pass `record` and `index` to the placeholder block as arguments:
|
194
208
|
|
data/lib/futurism/helpers.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Futurism
|
2
2
|
module Helpers
|
3
3
|
def futurize(records_or_string = nil, extends:, **options, &block)
|
4
|
-
if Rails.env.test? && Futurism.skip_in_test
|
4
|
+
if (Rails.env.test? && Futurism.skip_in_test) || options[:unless]
|
5
5
|
if records_or_string.nil?
|
6
6
|
return render(**options)
|
7
7
|
else
|
@@ -11,6 +11,9 @@ module Futurism
|
|
11
11
|
|
12
12
|
options[:eager] = true unless block_given?
|
13
13
|
|
14
|
+
# cannot serialize a proc
|
15
|
+
options.delete(:cached) if options[:cached].is_a?(Proc)
|
16
|
+
|
14
17
|
if records_or_string.is_a?(ActiveRecord::Base) || records_or_string.is_a?(ActiveRecord::Relation)
|
15
18
|
futurize_active_record(records_or_string, extends: extends, **options, &block)
|
16
19
|
elsif records_or_string.is_a?(String)
|
data/lib/futurism/helpers.rb~
CHANGED
@@ -55,6 +55,7 @@ module Futurism
|
|
55
55
|
class WrappingFuturismElement
|
56
56
|
include ActionView::Helpers
|
57
57
|
include Futurism::MessageVerifier
|
58
|
+
include Futurism::OptionsTransformer
|
58
59
|
|
59
60
|
attr_reader :extends, :placeholder, :html_options, :data_attributes, :model, :options, :eager, :broadcast_each, :controller
|
60
61
|
|
@@ -92,14 +93,7 @@ module Futurism
|
|
92
93
|
end
|
93
94
|
|
94
95
|
def transformed_options
|
95
|
-
|
96
|
-
|
97
|
-
options.deep_transform_values do |value|
|
98
|
-
next(value) unless value.respond_to?(:to_global_id)
|
99
|
-
next(value) if value.is_a?(ActiveRecord::Base) && value.new_record?
|
100
|
-
|
101
|
-
value.to_global_id.to_s
|
102
|
-
end
|
96
|
+
dump_options(options)
|
103
97
|
end
|
104
98
|
|
105
99
|
private
|
data/lib/futurism/version.rb
CHANGED
data/lib/futurism/version.rb~
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: futurism
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.0.
|
4
|
+
version: 1.2.0.pre8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Rubisch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|