turbo_boost-commands 0.0.5 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of turbo_boost-commands might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/turbo_boost/commands/command.rb +28 -13
- data/lib/turbo_boost/commands/runner.rb +4 -1
- data/lib/turbo_boost/commands/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: dc51cfaa7ad5b91259e3b3ff2c9f06b293bd189e0fbbbacf3495da438ff26dbe
|
4
|
+
data.tar.gz: 28faca7c348832170506a3dae946fb98cbc34d7dbca64670be1773e0dc427f88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52d7e7b94f652d985411c687513f0e64f61c99279edbdb851653404ad1fa7fef91d1bf3e9db7e12813035b4d7eb4298945117cff96068af03aa1723dcdde19ed
|
7
|
+
data.tar.gz: c7ec6d0bb100429dcadb3bc31a464312fbfa632b12bc5f7e0a949c45364f15069ad7cbea605d225a0a9450e762d06bffec71c898449c0c145d3340707e9d20f3
|
data/README.md
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
</h1>
|
9
9
|
<p align="center">
|
10
10
|
<a href="http://blog.codinghorror.com/the-best-code-is-no-code-at-all/">
|
11
|
-
<img alt="Lines of Code" src="https://img.shields.io/badge/loc-
|
11
|
+
<img alt="Lines of Code" src="https://img.shields.io/badge/loc-1493-47d299.svg" />
|
12
12
|
</a>
|
13
13
|
<a href="https://codeclimate.com/github/hopsoft/turbo_boost-commands/maintainability">
|
14
14
|
<img src="https://api.codeclimate.com/v1/badges/fe1162a742fe83a4fdfd/maintainability" />
|
@@ -9,18 +9,20 @@ require_relative "command_callbacks"
|
|
9
9
|
# Commands are executed via a before_action in the Rails controller lifecycle.
|
10
10
|
# They have access to the following methods and properties.
|
11
11
|
#
|
12
|
-
# * controller
|
13
|
-
# *
|
14
|
-
# *
|
15
|
-
# *
|
16
|
-
# *
|
17
|
-
# *
|
18
|
-
# *
|
19
|
-
# *
|
20
|
-
# *
|
21
|
-
# *
|
22
|
-
# *
|
23
|
-
# *
|
12
|
+
# * controller ...................... The Rails controller processing the HTTP request
|
13
|
+
# * convert_to_instance_variables ... Converts a Hash to instance variables
|
14
|
+
# * css_id_selector ................. Returns a CSS selector for an element `id` i.e. prefixes with `#`
|
15
|
+
# * dom_id .......................... The Rails dom_id helper
|
16
|
+
# * dom_id_selector ................. Returns a CSS selector for a dom_id
|
17
|
+
# * element ......................... A struct that represents the DOM element that triggered the command
|
18
|
+
# * morph ........................... Appends a Turbo Stream to morph a DOM element
|
19
|
+
# * params .......................... Commands specific params (frame_id, element, etc.)
|
20
|
+
# * render .......................... Renders Rails templates, partials, etc. (doesn't halt controller request handling)
|
21
|
+
# * renderer ........................ An ActionController::Renderer
|
22
|
+
# * state ........................... An object that stores ephemeral `state`
|
23
|
+
# * transfer_instance_variables ..... Transfers all instance variables to another object
|
24
|
+
# * turbo_stream .................... A Turbo Stream TagBuilder
|
25
|
+
# * turbo_streams ................... A list of Turbo Streams to append to the response (also aliased as streams)
|
24
26
|
#
|
25
27
|
# They also have access to the following class methods:
|
26
28
|
#
|
@@ -90,11 +92,24 @@ class TurboBoost::Commands::Command
|
|
90
92
|
@turbo_streams = Set.new
|
91
93
|
end
|
92
94
|
|
93
|
-
#
|
95
|
+
# Abstract `perform` method, overridde in subclassed commands
|
94
96
|
def perform
|
95
97
|
raise NotImplementedError, "#{self.class.name} must implement the `perform` method!"
|
96
98
|
end
|
97
99
|
|
100
|
+
# Converts a Hash to instance variables
|
101
|
+
def convert_to_instance_variables(hash = {})
|
102
|
+
return unless hash.present?
|
103
|
+
hash.each { |key, value| instance_variable_set :"@#{key}", value }
|
104
|
+
end
|
105
|
+
|
106
|
+
# Transfers all instance variables to another object
|
107
|
+
def transfer_instance_variables(object)
|
108
|
+
instance_variables.each do |name|
|
109
|
+
object.instance_variable_set name, instance_variable_get(name)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
98
113
|
def dom_id_selector(...)
|
99
114
|
css_id_selector dom_id(...)
|
100
115
|
end
|
@@ -166,7 +166,10 @@ class TurboBoost::Commands::Runner
|
|
166
166
|
|
167
167
|
def handle_command_event(event, error: nil)
|
168
168
|
case event
|
169
|
-
when :aborted
|
169
|
+
when :aborted
|
170
|
+
prevent_controller_action error: error
|
171
|
+
append_streams_to_response_body
|
172
|
+
when :errored then prevent_controller_action(error: error)
|
170
173
|
when :performed then prevent_controller_action if should_prevent_controller_action?
|
171
174
|
end
|
172
175
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: turbo_boost-commands
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nate Hopkins (hopsoft)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|