Skip to content

Commit 66f8254

Browse files
committed
[WIP] fix completion suggestions
1 parent f79004b commit 66f8254

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

lib/ruby_lsp/rails/factory_bot/completion.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@ def initialize(response_builder, node_context, dispatcher, server_client)
2424
end
2525

2626
def on_call_node_enter(node)
27-
return unless FactoryBot::FACTORY_BOT_METHODS.include?(node.name) ||
28-
FactoryBot::FACTORY_BOT_METHODS.include?(@node_context.parent.name)
27+
call_node = @node_context.call_node
28+
return unless call_node
2929

30-
process_arguments_pattern(node, node.arguments)
30+
return unless FactoryBot::FACTORY_BOT_METHODS.include?(call_node.name)
31+
32+
process_arguments_pattern(node, call_node.arguments&.arguments)
3133
rescue StandardError => e
3234
$stderr.write(e, e.backtrace)
3335
end
@@ -46,7 +48,7 @@ def process_arguments_pattern(node, arguments) # rubocop:disable Metrics/MethodL
4648
[Prism::SymbolNode => _factory_name_node, *, Prism::HashNode => _kw_node] |
4749
[Prism::SymbolNode => _factory_name_node, *, Prism::CallNode => _call_node]
4850

49-
attr_name = _call_node ? _call_node.message : _kw_node.elements.last.key.value&.to_s
51+
attr_name = _call_node ? _call_node.message : _kw_node.elements.last.key.name&.to_s
5052
handle_attribute(node_string_value(_factory_name_node), node, attr_name)
5153
else
5254
nil

0 commit comments

Comments
 (0)