ruby-lsp-rails 0.4.3 → 0.4.4
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7d6af6475f53648fe445527ec54ec22c5ba94df79ad5da635520f2937d8d25e
|
4
|
+
data.tar.gz: 1977cf0285fe9d29f7b4b4eeccbe8b7d57887e5aa0d2ecac64f5b3ea0519fa01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 443fc7b9ba824d4ce578d503ed1269cc94ef3626a8fbdd7a1b81c2b1e8fc88e91692fb7e3210be510bbe3852efb2e97522aad13f75446f30128e51bdd211e924
|
7
|
+
data.tar.gz: 1adb0fe993a8a3cb3b8d0ad1d4ff40c5eaf550bc71126e1080b2a3cc84238bcb42631ed37f1efa69d4c8f18adb04b23d2006691e02ba39bca2aa1cf107d4a249
|
@@ -91,7 +91,7 @@ module RubyLsp
|
|
91
91
|
def create_discover_tests_listener(response_builder, dispatcher, uri)
|
92
92
|
return unless @global_state
|
93
93
|
|
94
|
-
RailsTestStyle.new(
|
94
|
+
RailsTestStyle.new(response_builder, @global_state, dispatcher, uri)
|
95
95
|
end
|
96
96
|
|
97
97
|
# @override
|
@@ -50,10 +50,12 @@ module RubyLsp
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
#: (
|
54
|
-
def initialize(
|
53
|
+
#: (ResponseBuilders::TestCollection response_builder, GlobalState global_state, Prism::Dispatcher dispatcher, URI::Generic uri) -> void
|
54
|
+
def initialize(response_builder, global_state, dispatcher, uri)
|
55
55
|
super(response_builder, global_state, dispatcher, uri)
|
56
56
|
|
57
|
+
@parent_stack = [@response_builder] #: Array[(Requests::Support::TestItem | ResponseBuilders::TestCollection)?]
|
58
|
+
|
57
59
|
dispatcher.register(
|
58
60
|
self,
|
59
61
|
:on_class_node_enter,
|
@@ -74,12 +76,33 @@ module RubyLsp
|
|
74
76
|
framework: :rails,
|
75
77
|
)
|
76
78
|
|
77
|
-
|
79
|
+
last_test_group.add(test_item)
|
78
80
|
@response_builder.add_code_lens(test_item)
|
81
|
+
@parent_stack << test_item
|
82
|
+
else
|
83
|
+
@parent_stack << nil
|
79
84
|
end
|
80
85
|
end
|
81
86
|
end
|
82
87
|
|
88
|
+
#: (Prism::ClassNode node) -> void
|
89
|
+
def on_class_node_leave(node)
|
90
|
+
@parent_stack.pop
|
91
|
+
super
|
92
|
+
end
|
93
|
+
|
94
|
+
#: (Prism::ModuleNode node) -> void
|
95
|
+
def on_module_node_enter(node)
|
96
|
+
@parent_stack << nil
|
97
|
+
super
|
98
|
+
end
|
99
|
+
|
100
|
+
#: (Prism::ModuleNode node) -> void
|
101
|
+
def on_module_node_leave(node)
|
102
|
+
@parent_stack.pop
|
103
|
+
super
|
104
|
+
end
|
105
|
+
|
83
106
|
#: (Prism::CallNode node) -> void
|
84
107
|
def on_call_node_enter(node)
|
85
108
|
return unless node.name == :test
|
@@ -125,28 +148,24 @@ module RubyLsp
|
|
125
148
|
|
126
149
|
#: (Prism::Node node, String test_name) -> void
|
127
150
|
def add_test_item(node, test_name)
|
128
|
-
|
129
|
-
return unless
|
151
|
+
parent = @parent_stack.last
|
152
|
+
return unless parent.is_a?(Requests::Support::TestItem)
|
130
153
|
|
131
154
|
example_item = Requests::Support::TestItem.new(
|
132
|
-
"#{
|
155
|
+
"#{parent.id}##{test_name}",
|
133
156
|
test_name,
|
134
157
|
@uri,
|
135
158
|
range_from_node(node),
|
136
159
|
framework: :rails,
|
137
160
|
)
|
138
|
-
|
161
|
+
parent.add(example_item)
|
139
162
|
@response_builder.add_code_lens(example_item)
|
140
163
|
end
|
141
164
|
|
142
|
-
#: -> Requests::Support::TestItem
|
143
|
-
def
|
144
|
-
|
145
|
-
|
146
|
-
# If we're finding a test method, but for the wrong framework, then the group test item will not have been
|
147
|
-
# previously pushed and thus we return early and avoid adding items for a framework this listener is not
|
148
|
-
# interested in
|
149
|
-
@response_builder[current_group_name]
|
165
|
+
#: -> (Requests::Support::TestItem | ResponseBuilders::TestCollection)
|
166
|
+
def last_test_group
|
167
|
+
index = @parent_stack.rindex { |i| i } #: as !nil
|
168
|
+
@parent_stack[index] #: as Requests::Support::TestItem | ResponseBuilders::TestCollection
|
150
169
|
end
|
151
170
|
end
|
152
171
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-lsp-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
@@ -79,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '0'
|
81
81
|
requirements: []
|
82
|
-
rubygems_version: 3.6.
|
82
|
+
rubygems_version: 3.6.9
|
83
83
|
specification_version: 4
|
84
84
|
summary: A Ruby LSP addon for Rails
|
85
85
|
test_files: []
|