view_component_reflex 1.2.0 → 1.3.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 +4 -4
- data/README.md +10 -0
- data/app/components/view_component_reflex/component.rb +6 -2
- data/lib/view_component_reflex/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: 30533287ce1445add7dba2ebed5013ed80e792de560fa9c930f3e13dcbd612d7
|
4
|
+
data.tar.gz: bf84f573e602b373855848b2fbe61245967e4f16e7a420b03c1b6414aa1c8c73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47dc5ab24c0711778b07b8460207b1e532c944173d4df2cc8fe33447868b96a9043ad972b5a9672a0ea09ad323199b7cfa15327634199d3218e69e6c797f4196
|
7
|
+
data.tar.gz: d9dbc21f77baf9c73c20352a5163c8af52317a0138393d4128cc34bb60e903227e62e28e0f0e0ad92f4fa10d4206f79d295c74582774b93fefffd14801fe5c44
|
data/README.md
CHANGED
@@ -59,6 +59,16 @@ end
|
|
59
59
|
If a new parameter is passed to the component during rendering, it is used instead of what's in state.
|
60
60
|
If you're storing instances in state, you can use this to properly compare them.
|
61
61
|
|
62
|
+
### omitted_from_state
|
63
|
+
Return an array of instance variables you want to omit from state. Useful if you have an object
|
64
|
+
that isn't serializable as an instance variable, like a form.
|
65
|
+
|
66
|
+
```
|
67
|
+
def omitted_from_state
|
68
|
+
[:@form]
|
69
|
+
end
|
70
|
+
```
|
71
|
+
|
62
72
|
|
63
73
|
## Custom State Adapters
|
64
74
|
|
@@ -62,7 +62,7 @@ module ViewComponentReflex
|
|
62
62
|
return @component if @component
|
63
63
|
@component = component_class.allocate
|
64
64
|
reflex = self
|
65
|
-
exposed_methods = [:params, :request, :element, :refresh!, :refresh_all!, :stimulus_controller]
|
65
|
+
exposed_methods = [:params, :request, :element, :refresh!, :refresh_all!, :stimulus_controller, :session]
|
66
66
|
exposed_methods.each do |meth|
|
67
67
|
@component.define_singleton_method(meth) do |*a|
|
68
68
|
reflex.send(meth, *a)
|
@@ -129,6 +129,10 @@ module ViewComponentReflex
|
|
129
129
|
initial_param != new_param
|
130
130
|
end
|
131
131
|
|
132
|
+
def omitted_from_state
|
133
|
+
[]
|
134
|
+
end
|
135
|
+
|
132
136
|
def key
|
133
137
|
# initialize session state
|
134
138
|
if !stimulus_reflex? || session[@key].nil?
|
@@ -141,7 +145,7 @@ module ViewComponentReflex
|
|
141
145
|
:@helpers, :@controller, :@request, :@content
|
142
146
|
]
|
143
147
|
instance_variables.reject { |k| blacklist.include?(k) }.each do |k|
|
144
|
-
new_state[k] = instance_variable_get(k)
|
148
|
+
new_state[k] = instance_variable_get(k) unless omitted_from_state.include?(k)
|
145
149
|
end
|
146
150
|
ViewComponentReflex::Engine.state_adapter.store_state(request, @key, new_state)
|
147
151
|
ViewComponentReflex::Engine.state_adapter.store_state(request, "#{@key}_initial", new_state)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: view_component_reflex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua LeBlanc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|