turbo_reflex 0.0.11 → 0.0.13
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/Gemfile +0 -2
- data/Gemfile.lock +13 -19
- data/app/controllers/concerns/turbo_reflex/controller.rb +0 -8
- data/lib/turbo_reflex/runner.rb +14 -9
- data/lib/turbo_reflex/state_manager.rb +3 -2
- data/lib/turbo_reflex/version.rb +1 -1
- data/package.json +1 -1
- data/tags +2 -3
- data/turbo_reflex.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 148653f6e602f340ed943feddcc574c059571baae1971c47816df9cd97c672f5
|
4
|
+
data.tar.gz: 32d37a9dc870c39886d7218b2e6d9cdeba1f299cf747d7d165b4e5673f67d4dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2f5c538fcb479478fc87789145ccf0aa9908b0bf72b7f3a7f0ba24af5da45951c5b6bf6c776e160adc1d4e07b425f0cdca93d535a7dbf5dba14c8f565a44e8c
|
7
|
+
data.tar.gz: 8a68c4b30fbd18ecc9a213107274c93f2da711c2843fbd8406f2387bec1127967bccfef24f426c0927010add654a08660d203c8e3a9cb5dd18c62617b6a55c85
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,21 +1,7 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/teamcapybara/capybara.git
|
3
|
-
revision: 2d05c203d79bca7b3b093c37f866ee41f294925b
|
4
|
-
specs:
|
5
|
-
capybara (3.38.0)
|
6
|
-
addressable
|
7
|
-
matrix
|
8
|
-
mini_mime (>= 0.1.3)
|
9
|
-
nokogiri (~> 1.8)
|
10
|
-
rack (>= 1.6.0)
|
11
|
-
rack-test (>= 0.6.3)
|
12
|
-
regexp_parser (>= 1.5, < 3.0)
|
13
|
-
xpath (~> 3.2)
|
14
|
-
|
15
1
|
PATH
|
16
2
|
remote: .
|
17
3
|
specs:
|
18
|
-
turbo_reflex (0.0.
|
4
|
+
turbo_reflex (0.0.13)
|
19
5
|
rails (>= 6.1)
|
20
6
|
turbo-rails (>= 1.1)
|
21
7
|
turbo_ready (>= 0.1)
|
@@ -95,6 +81,15 @@ GEM
|
|
95
81
|
bindex (0.8.1)
|
96
82
|
builder (3.2.4)
|
97
83
|
byebug (11.1.3)
|
84
|
+
capybara (3.37.1)
|
85
|
+
addressable
|
86
|
+
matrix
|
87
|
+
mini_mime (>= 0.1.3)
|
88
|
+
nokogiri (~> 1.8)
|
89
|
+
rack (>= 1.6.0)
|
90
|
+
rack-test (>= 0.6.3)
|
91
|
+
regexp_parser (>= 1.5, < 3.0)
|
92
|
+
xpath (~> 3.2)
|
98
93
|
childprocess (4.1.0)
|
99
94
|
coderay (1.1.3)
|
100
95
|
concurrent-ruby (1.1.10)
|
@@ -161,7 +156,7 @@ GEM
|
|
161
156
|
pry-rails (0.3.9)
|
162
157
|
pry (>= 0.10.4)
|
163
158
|
public_suffix (5.0.0)
|
164
|
-
puma (6.
|
159
|
+
puma (5.6.5)
|
165
160
|
nio4r (~> 2.0)
|
166
161
|
racc (1.6.0)
|
167
162
|
rack (2.2.4)
|
@@ -227,7 +222,6 @@ GEM
|
|
227
222
|
actionpack (>= 5.2)
|
228
223
|
activesupport (>= 5.2)
|
229
224
|
sprockets (>= 3.0.0)
|
230
|
-
sqlite3 (1.5.3-aarch64-linux)
|
231
225
|
sqlite3 (1.5.3-arm64-darwin)
|
232
226
|
standard (1.16.1)
|
233
227
|
rubocop (= 1.35.1)
|
@@ -275,7 +269,7 @@ PLATFORMS
|
|
275
269
|
arm64-darwin-21
|
276
270
|
|
277
271
|
DEPENDENCIES
|
278
|
-
capybara
|
272
|
+
capybara
|
279
273
|
cuprite
|
280
274
|
foreman
|
281
275
|
importmap-rails
|
@@ -285,7 +279,7 @@ DEPENDENCIES
|
|
285
279
|
pry-byebug
|
286
280
|
pry-doc
|
287
281
|
pry-rails
|
288
|
-
puma
|
282
|
+
puma (~> 5.6.5)
|
289
283
|
rake
|
290
284
|
rexml
|
291
285
|
rouge
|
@@ -4,14 +4,6 @@ module TurboReflex::Controller
|
|
4
4
|
extend ActiveSupport::Concern
|
5
5
|
|
6
6
|
module ClassMethods
|
7
|
-
def turbo_reflex_state_cookie_max_bytesize
|
8
|
-
TurboReflex::StateManager.cookie_max_bytesize
|
9
|
-
end
|
10
|
-
|
11
|
-
def turbo_reflex_state_cookie_max_bytesize=(value)
|
12
|
-
TurboReflex::StateManager.cookie_max_bytesize = value
|
13
|
-
end
|
14
|
-
|
15
7
|
def turbo_reflex_state(&block)
|
16
8
|
TurboReflex::StateManager.add_state_override_block name, block
|
17
9
|
end
|
data/lib/turbo_reflex/runner.rb
CHANGED
@@ -154,15 +154,20 @@ class TurboReflex::Runner
|
|
154
154
|
|
155
155
|
def render_response(html: "", status: nil, headers: {TurboReflex: :Append})
|
156
156
|
headers.each { |key, value| response.set_header key.to_s, value.to_s }
|
157
|
-
|
157
|
+
render html: html, layout: false, status: status || response_status
|
158
158
|
end
|
159
159
|
|
160
160
|
def turbo_stream
|
161
|
-
@turbo_stream ||= Turbo::Streams::TagBuilder.new(
|
161
|
+
@turbo_stream ||= Turbo::Streams::TagBuilder.new(view_context)
|
162
162
|
end
|
163
163
|
|
164
164
|
def message_verifier
|
165
|
-
ActiveSupport::MessageVerifier.new
|
165
|
+
ActiveSupport::MessageVerifier.new Rails.application.secret_key_base, digest: "SHA256"
|
166
|
+
end
|
167
|
+
|
168
|
+
# Same implementation as ActionController::Base but with public visibility
|
169
|
+
def cookies
|
170
|
+
request.cookie_jar
|
166
171
|
end
|
167
172
|
|
168
173
|
private
|
@@ -180,7 +185,7 @@ class TurboReflex::Runner
|
|
180
185
|
end
|
181
186
|
|
182
187
|
def server_token
|
183
|
-
|
188
|
+
cookies.encrypted["turbo_reflex.token"]
|
184
189
|
end
|
185
190
|
|
186
191
|
def client_token
|
@@ -195,8 +200,8 @@ class TurboReflex::Runner
|
|
195
200
|
end
|
196
201
|
|
197
202
|
def should_redirect?
|
198
|
-
return false if
|
199
|
-
|
203
|
+
return false if request.method.match?(/GET/i)
|
204
|
+
request.accepts.include? Mime::Type.lookup_by_extension(:turbo_stream)
|
200
205
|
end
|
201
206
|
|
202
207
|
def response_status
|
@@ -205,7 +210,7 @@ class TurboReflex::Runner
|
|
205
210
|
end
|
206
211
|
|
207
212
|
def response_type
|
208
|
-
body =
|
213
|
+
body = response_body.to_s.strip
|
209
214
|
return :body if body.match?(/<\/\s*body.*>/i)
|
210
215
|
return :frame if body.match?(/<\/\s*turbo-frame.*>/i)
|
211
216
|
return :stream if body.match?(/<\/\s*turbo-stream.*>/i)
|
@@ -229,7 +234,7 @@ class TurboReflex::Runner
|
|
229
234
|
end
|
230
235
|
|
231
236
|
def append_meta_tag_to_response_body
|
232
|
-
|
237
|
+
cookies.encrypted["turbo_reflex.token"] = {value: new_token, path: "/"}
|
233
238
|
append_to_response_body turbo_stream.invoke("morph", args: [meta_tag], selector: "#turbo-reflex")
|
234
239
|
end
|
235
240
|
|
@@ -261,7 +266,7 @@ class TurboReflex::Runner
|
|
261
266
|
case response_type
|
262
267
|
when :body then response.body.sub!(/<\/\s*body.*>/i, "#{sanitized_content}</body>")
|
263
268
|
when :frame then response.body.sub!(/<\/\s*turbo-frame.*>/i, "#{sanitized_content}</turbo-frame>")
|
264
|
-
else
|
269
|
+
else response_body << sanitized_content
|
265
270
|
end
|
266
271
|
end
|
267
272
|
end
|
@@ -41,6 +41,7 @@ class TurboReflex::StateManager
|
|
41
41
|
# For ActiveModel::Dirty tracking
|
42
42
|
define_attribute_methods :state
|
43
43
|
|
44
|
+
delegate :cookies, to: :runner
|
44
45
|
delegate :request, :response, to: :"runner.controller"
|
45
46
|
|
46
47
|
def initialize(runner)
|
@@ -77,7 +78,7 @@ class TurboReflex::StateManager
|
|
77
78
|
return unless changed?
|
78
79
|
state.shrink!
|
79
80
|
state.prune! max_bytesize: TurboReflex::StateManager.cookie_max_bytesize
|
80
|
-
|
81
|
+
cookies["turbo_reflex.state"] = {value: state.ordinal_payload, path: "/", expires: 1.day.from_now}
|
81
82
|
changes_applied
|
82
83
|
end
|
83
84
|
|
@@ -97,6 +98,6 @@ class TurboReflex::StateManager
|
|
97
98
|
|
98
99
|
# State that the server last rendered with.
|
99
100
|
def cookie
|
100
|
-
|
101
|
+
cookies["turbo_reflex.state"]
|
101
102
|
end
|
102
103
|
end
|
data/lib/turbo_reflex/version.rb
CHANGED
data/package.json
CHANGED
data/tags
CHANGED
@@ -4260,7 +4260,6 @@ $z node_modules/angular-html-parser/lib/compiler/src/chars.d.ts /^export declare
|
|
4260
4260
|
.col-span-3 node_modules/flowbite/dist/flowbite.min.css /^\/*! tailwindcss v3.1.6 | MIT License | https:\/\/tailwindcss.com*\/*,:after,:before{border:0 so/;" c
|
4261
4261
|
.col-span-6 node_modules/flowbite/dist/flowbite.css /^.col-span-6 {$/;" c
|
4262
4262
|
.col-span-6 node_modules/flowbite/dist/flowbite.min.css /^\/*! tailwindcss v3.1.6 | MIT License | https:\/\/tailwindcss.com*\/*,:after,:before{border:0 so/;" c
|
4263
|
-
.collapse test/dummy/app/assets/builds/tailwind.css /^\/*! tailwindcss v3.2.1 | MIT License | https:\/\/tailwindcss.com*\/*,:after,:before{border:0 so/;" c
|
4264
4263
|
.compile(Object schema) -> Function<Object data> node_modules/ajv/README.md /^##### .compile(Object schema) -> Function<Object data>$/;" T section:Ajv: Another JSON Schema Validator""API
|
4265
4264
|
.container node_modules/flowbite/dist/flowbite.css /^ .container {$/;" c
|
4266
4265
|
.container node_modules/flowbite/dist/flowbite.css /^.container {$/;" c
|
@@ -216622,7 +216621,7 @@ VDash node_modules/parse-srcset/tests/he.js /^ var decodeMap = {'Aacute':'\\xC1'
|
|
216622
216621
|
VDash node_modules/simple-html-tokenizer/dist/es6/index.js /^ Aacute: "Á", aacute: "á", Abreve: "Ă", abreve: "ă", ac: "∾", acd: "∿", acE: "∾̳",/;" p variable:namedCharRefs
|
216623
216622
|
VDash node_modules/simple-html-tokenizer/dist/simple-html-tokenizer.js /^ Aacute: "Á", aacute: "á", Abreve: "Ă", abreve: "ă", ac: "∾", acd: "∿", acE: "∾/;" p variable:anonymousFunction3825d8d70300.namedCharRefs
|
216624
216623
|
VDash node_modules/simple-html-tokenizer/dist/types/generated/html5-named-char-refs.d.ts /^ VDash: string;$/;" C
|
216625
|
-
VERSION lib/turbo_reflex/version.rb /^ VERSION = "0.0.
|
216624
|
+
VERSION lib/turbo_reflex/version.rb /^ VERSION = "0.0.13"$/;" C module:TurboReflex
|
216626
216625
|
VERSION node_modules/@angular/compiler/esm2015/src/output/source_map.js /^const VERSION = 3;$/;" C
|
216627
216626
|
VERSION node_modules/@angular/compiler/esm2015/src/version.js /^export const VERSION = new Version('8.2.14');$/;" C
|
216628
216627
|
VERSION node_modules/@angular/compiler/esm5/src/output/source_map.js /^var VERSION = 3;$/;" v
|
@@ -468395,7 +468394,7 @@ version node_modules/yaml/dist/index.js /^ version: '1.2'$/;" p variable:defaul
|
|
468395
468394
|
version node_modules/yaml/dist/test-events.js /^ version: '1.2'$/;" p variable:testEvents.anonymousObjecta2b129440205
|
468396
468395
|
version node_modules/yaml/package.json /^ "version": "1.8.3",$/;" s
|
468397
468396
|
version node_modules/yocto-queue/package.json /^ "version": "0.1.0",$/;" s
|
468398
|
-
version package.json /^ "version": "0.0.
|
468397
|
+
version package.json /^ "version": "0.0.11",$/;" s
|
468399
468398
|
versionIncluded node_modules/prettier-standard/src/vendor/node_modules/resolve/lib/core.js /^function versionIncluded(specifierValue) {$/;" f
|
468400
468399
|
versionIncluded node_modules/resolve/lib/core.js /^function versionIncluded(specifierValue) {$/;" f
|
468401
468400
|
versionInfo node_modules/graphql/version.d.ts /^export const versionInfo: {$/;" C
|
data/turbo_reflex.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
|
|
32
32
|
s.add_development_dependency "pry-byebug"
|
33
33
|
s.add_development_dependency "pry-doc"
|
34
34
|
s.add_development_dependency "pry-rails"
|
35
|
-
s.add_development_dependency "puma"
|
35
|
+
s.add_development_dependency "puma", "~> 5.6.5" # pin until capybara catches up
|
36
36
|
s.add_development_dependency "rake"
|
37
37
|
s.add_development_dependency "rexml"
|
38
38
|
s.add_development_dependency "rouge"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: turbo_reflex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nate Hopkins (hopsoft)
|
@@ -196,16 +196,16 @@ dependencies:
|
|
196
196
|
name: puma
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
|
-
- - "
|
199
|
+
- - "~>"
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
201
|
+
version: 5.6.5
|
202
202
|
type: :development
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
|
-
- - "
|
206
|
+
- - "~>"
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
208
|
+
version: 5.6.5
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
name: rake
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|